我正在尝试调整我的错误代码,以便它也可以处理其他类型的错误,例如成功
例如,当我呈现注册页面时
res.render('signup', {
errors: req.flash('errors')
});
提交页面后,我使用以下代码成功发送错误提示:
req.flash('errors', { msg: 'Account with that email address already exists.' });
并用代码正确渲染它。
<% if (errors.length > 0 ) {
for(var i=0; i < errors.length; i++) { %>
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-
label="Close">
<span aria-hidden="true">×</span>
</button>
<%= errors[i].msg %>
</div>
<% } %>
<% } %>
但在其他情况下我可能有
req.flash('success', { msg: 'You have signed up successfully' });
您将如何调整上面的 Flash 渲染代码块,使其同时适用于“错误”和“成功”
我在网上找到了一些 .pug 代码(不是 EJS)(sahat hackathon-starter)来检查 messages.errors,但我不确定消息来自哪里!
if messages.errors
.alert.alert-danger.fade.in
button.close(type='button', data-dismiss='alert')
i.fa.fa-times-circle-o
for error in messages.errors
div= error.msg
if messages.info
.alert.alert-info.fade.in
button.close(type='button', data-dismiss='alert')
i.fa.fa-times-circle-o
for info in messages.info
div= info.msg
if messages.success
.alert.alert-success.fade.in
button.close(type='button', data-dismiss='alert')
i.fa.fa-times-circle-o
for success in messages.success
div= success.msg
谢谢 托尼
最佳答案
<% if (errors.length > 0 ) {
for(var i=0; i < errors.length; i++) { %>
<div class="alert alert-danger alert-dismissible fade show" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<%= errors[i].msg %>
</div>
<% } %>
<% } %>
<% if (success.length > 0 ) {
for(var i=0; i < success.length; i++) { %>
<div class="alert alert-success alert-dismissible fade show" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<%= success[i].msg %>
</div>
<% } %>
<% } %>
关于node.js - 将 Express-Flash 与 EJS 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45498596/