我的ejs模板中的'errors'变量在页面加载时导致'undefined'错误
我有一个联系表单的ejs模板,其中包含代码,可在表单未正确或未完全填写时通过Flash消息将错误输出到页面。
<%- messages('message', locals) %>
<% if (errors !== undefined) { %>
// Output the errors to the page
<% errors.forEach(function(error) { %>
<div class="alert alert-danger">
<%= error.message %>
</div>
<% }) %>
<% } %>
我的app.js文件中的代码创建了“错误”变量。
let errors = req.validationResult();
if (errors) {
res.render('contact-form', {
errors: errors
});
对于价值而言,“ messages.ejs”模板包含以下代码:
<div id="messages">
<% Object.keys(messages).forEach(function (type) { %>
<div class="alert alert-<%= type %>">
<% messages[type].forEach(function (message) { %>
<p><%= message %></p>
<% }) %>
</div>
<% }) %>
</div>
该行:
<% if (errors !== undefined) { %>
从contact-form.ejs模板抛出“未定义错误”错误。
答案 0 :(得分:0)
我的猜测是“未定义的错误”是指vec[cumsum(abs(vec)) > 0 & rev(cumsum(rev(abs(vec)))) > 0]
## [1] 1 2 0 3 4
。 errors.forEach
的结果不是错误数组,它是带有validationResult()
和isEmpty()
之类的吸气剂的对象,因此您可能需要稍微调整控制器代码。
查看the docs以获得一些示例。