【问题标题】:Node.js EJS express-validator for each每个节点的 Node.js EJS express-validator
【发布时间】:2017-07-21 17:18:45
【问题描述】:

想用 ejs 完成这件事,我简直要疯了。车把。没问题。但是强迫学习ejs。

我想要做的是获取一个错误对象并循环遍历该对象并将每条消息打印为一个 li。

   <% if (errors !== undefined){ %>
     <p>there are errors on page</p>
   <% for each(error in errors){ %>
     <li><%= error.msg%></li>
   <% }) %>
   <% }  %>

我尝试了许多不同的方法来显示数据,但我似乎找不到我的挂断。我应该如何获得每个对象的msg

上面的代码只是代码的一小部分。 Whole code

编辑: 已从帖子中删除信息,因为它不再与我的问题有关。

【问题讨论】:

  • 您遇到的错误是什么?
  • 错误只是一个迭代器,如果你想打印使用errors[error].msg
  • @subrahmanyabhat 原始代码导致编译错误(语法错误)尝试错误[错误].msg 导致“错误未定义”。我想我已经找到了另一种方法来获得我想要的结果,尽管我的代码不会那么枯燥。
  • 你检查你的错误对象了吗?那是正确的对象格式吗?将其转换为正确的 json 格式并打印出来,
  • @subrahmanyabhat 编辑了 OP。它确实在 json 中回归并且是一个有效的对象。当我在页面上显示对象时,数据将作为“对象”返回

标签: javascript node.js express ejs


【解决方案1】:

发现我的错误[双关语]

  1. 我使用的是 .mapped,它使数据成为对象.. 我需要做 .array

  2. 即使使用对象,我想运行的 js 也无法使用对象(或者至少我不知道如何循环遍历对象的特定属性)。

  3. 我想运行的代码的正确语法如下:

      <% if (errors !== undefined){ %>
      <p>there are errors on page</p>
      <% for (const error of errors){ %>
      <li><%= error.msg %> </li>
      <% } %>
      <% }  %>
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    相关资源
    最近更新 更多