ras*_*862 3 validation node.js express
我正在通过POST方法验证表单.我想在已注册电子邮件地址时将错误输入express-validator,因此当我执行req.validationErrors()时,它会被包括在内.像这样的东西:
req.checkBody('inputFirstName', 'First name empty').notEmpty();
req.checkBody('inputLastName', 'Last name empty').notEmpty();
db.User.find({email: req.body.inputEmail}, function (err, user){
if(user){
var error = {param: "inputEmail", msg: "Email address already registered", value: ''};
expressValidator._errors.push(error);
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢.
小智 5
你可以这样做:
req.checkBody('inputFirstName', 'First name empty').notEmpty();
req.checkBody('inputLastName', 'Last name empty').notEmpty();
var errors = req.validationErrors();
db.User.find({email: req.body.inputEmail}, function (err, user){
if(user){
var error = {param: "inputEmail", msg: "Email address already registered", value: req.body.email};
if (!errors) {
errors = [];
}
errors.push(error);
}
// Here need to be next part of action - not outside find callback!
});
Run Code Online (Sandbox Code Playgroud)
但我认为在请求方验证中加入一些mongoose验证是个坏主意.您可以使用一些模式方法,例如预先保存,在那里进行验证.
| 归档时间: |
|
| 查看次数: |
4793 次 |
| 最近记录: |