Validation 在express validator中发生错误后停止执行流
我正在使用Validation 在express validator中发生错误后停止执行流,validation,node.js,express,Validation,Node.js,Express,我正在使用expressvalidator对express中的请求对象进行表单验证。我做了如下工作: req.onValidationError(function(msg) { res.render('signup', { error: msg }); }); req.check('email', 'Please enter a valid email.').len(1,256).isEmail; req.check('password', 'Your password must be
expressvalidator
对express中的请求
对象进行表单验证。我做了如下工作:
req.onValidationError(function(msg) {
res.render('signup', { error: msg });
});
req.check('email', 'Please enter a valid email.').len(1,256).isEmail;
req.check('password', 'Your password must be at least 8 characters.').len(8,256);
var user = {
email: req.body.email,
password: req.body.password
};
User.create(user, function(err, result) {
console.log(err, result);
});
res.render('signup');
问题是执行流会继续,在执行我的User.create()
方法时,它会尝试呈现相同的资源两次。它还将抛出一个错误:发送后无法使用可变头API。
,因为尝试了双重呈现
如何防止这种情况发生?请参阅
看
var errors = [];
req.onValidationError(function(msg) {
//res.render('signup', { error: msg });
errors.push(msg);
});
req.check('email', 'Please enter a valid email.').len(1,256).isEmail;
req.check('password', 'Your password must be at least 8 characters.').len(8,256);
if (errors.length) return res.render('signup', { error: errors.join('\n') });
var user = {
email: req.body.email,
password: req.body.password
};
User.create(user, function(err, result) {
console.log(err, result);
});
res.render('signup');