空插入值以形成NodeJ后显示错误

时间:2017-07-13 11:44:26

标签: angularjs node.js

在字段(表单)中设置空值后,显示错误有问题。 如果我用res.redirect('/')删除行,并且在我尝试注册之后我将刷新页面,将显示错误,但是如果我保留此行的重定向 我没有错误,有人可以告诉我为什么?而如何做到这一点,在表单中插入空值后,我会立即点击提交将显示错误。

router.post('/create', function (req, res, next) {
  var newUser = {
    username: req.body.username,
    password: req.body.password
  }

  req.checkBody('username', 'Login is required').notEmpty();
  req.checkBody('password', 'Password is required').notEmpty();

  var errors = req.validationErrors();

  if (errors) {
     res.render('index', { 
      errors: errors 
    });
  } else {
    bcrypt.hash(newUser.password, saltRounds, function (err, hash) {
      if (err) {
        console.log(err)
      } else {
        newUser.password = hash;
        var user = new User(newUser);
        user.save()
          .then(function (User) {
            res.send(User);
          })
      }
    });

    req.flash('success_msg', 'You are registered and can now login');
    res.redirect('/');
  }
});

1 个答案:

答案 0 :(得分:0)

你必须决定。您可以显示一些消息 OR 重定向。不是两个。

最终,您可以使用JavaScript或元标题

在客户端完成此操作

示例生成的HTML



setTimeout(function() {
  window.location.href = '/login';
}, 5000);

<div>Logged out</div>
&#13;
&#13;
&#13;