使用带有EJS的express-flash

问题描述 投票:1回答:1

我正在尝试调整我的错误代码,以便它也可以处理其他类型的错误,如成功

例如,当我渲染注册页面时

res.render('signup', {
errors: req.flash('errors')
});

提交页面后,我使用以下代码成功发送错误flash:

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">&times;</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

谢谢托尼

node.js views ejs
1个回答
0
投票
<% 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">&times;</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">&times;</span>
          </button>
          <%= success[i].msg %>
      </div>
      <% } %>
          <% } %>
© www.soinside.com 2019 - 2024. All rights reserved.