【问题标题】:How to display req.validationError on form如何在表单上显示 req.validationError
【发布时间】:2018-02-12 06:45:13
【问题描述】:

我正在尝试使用 nodejs/express 验证注册页面。我真正想要的是显示来自req.validationErrors() 的错误消息以显示在我的表单上。我使用 ejs 而不是 jade,我看到了如何使用 .jade 和以下代码显示错误,但我想知道如何使用 .ejs 显示错误。

这是signup.jade中的翡翠代码:

ul.errors
  if errors
    each error, i in errors
      li #{error.msg}

下面是user.js中的表单验证代码:

 // Form Validation
 req.checkBody('name', 'Name field is required').notEmpty();
 req.checkBody('email', 'Email field is required').notEmpty();
 req.checkBody('email', 'Email not valid').isEmail();
 req.checkBody('username', 'Username field is required').notEmpty();
 req.checkBody('password', 'Password field is required').notEmpty();
 req.checkBody('password2', 'Passwords do not match').equals(req.body.password);

// Check for errors
var errors = req.validationErrors();

if (errors) {
  res.render('register', {
    errors: errors,
    name: name,
    email: email,
    password: password,
    password2: password2
  });
 } else {
  var newUser = new User({
    name: name,
    email: email,
    username: username,
    password: password,
    profileimage: profileImageName
 });

【问题讨论】:

    标签: javascript node.js express pug ejs


    【解决方案1】:

    您正在查看遍历错误消息对象并在 ul 的 li 子项中显示每个值。这个 sn-p 应该有帮助

    <ul class="errors">        
          <% if(errors){ %>
              <% for(var error in errors){ %>
                  <li class="alert alert-danger"> <% =error %></li>
              <% } %>
          <% } %>
    
        </ul>
    

    查看 EJS 模板了解更多详情Here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-03
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      • 1970-01-01
      • 1970-01-01
      • 2016-10-25
      • 1970-01-01
      相关资源
      最近更新 更多