express-validator 中断验证器链
express-validator Break validator chain
我正在使用 express 的 express-validator 插件
var input = {
'username': {
notEmpty: true,
isEmail: {
errorMessage: 'Invalid Email.'
}
},
'password': {
notEmpty: true,
errorMessage: 'Invalid Password' // Error message for the parameter
}
};
req.checkBody(input);
var errors = req.validationErrors();
if (errors) {
console.log(errors);
}
如果我将用户名作为空输出传递
[ { param: 'username', msg: 'Invalid param', value: '' },
{ param: 'username', msg: 'Invalid Email.', value: '' },
{ param: 'password', msg: 'Invalid Password', value: '' } ]
如果任何验证失败,如何中断链。
此问题的修复终于在 v3.0.0 中完成!
req.getValidationResult().then( result => {
var errors = result.useFirstErrorOnly().array();
// enjoy an array with no duplicated errors for any given parameter!
});
更新:在较新版本的 express-validator 中,您只需将一个选项传递给 validationResult.array()
:
var errors = validationResult(req).array({ onlyFirstError: true });
您似乎需要为空参数添加错误消息:
用户名:{
不是空的: {
错误消息:'Username must not be emtpy'
},
是电子邮件:{
错误消息:'Invalid Email.'
}
}...
我正在使用 express 的 express-validator 插件
var input = {
'username': {
notEmpty: true,
isEmail: {
errorMessage: 'Invalid Email.'
}
},
'password': {
notEmpty: true,
errorMessage: 'Invalid Password' // Error message for the parameter
}
};
req.checkBody(input);
var errors = req.validationErrors();
if (errors) {
console.log(errors);
}
如果我将用户名作为空输出传递
[ { param: 'username', msg: 'Invalid param', value: '' },
{ param: 'username', msg: 'Invalid Email.', value: '' },
{ param: 'password', msg: 'Invalid Password', value: '' } ]
如果任何验证失败,如何中断链。
此问题的修复终于在 v3.0.0 中完成!
req.getValidationResult().then( result => {
var errors = result.useFirstErrorOnly().array();
// enjoy an array with no duplicated errors for any given parameter!
});
更新:在较新版本的 express-validator 中,您只需将一个选项传递给 validationResult.array()
:
var errors = validationResult(req).array({ onlyFirstError: true });
您似乎需要为空参数添加错误消息:
用户名:{ 不是空的: { 错误消息:'Username must not be emtpy' }, 是电子邮件:{ 错误消息:'Invalid Email.' } }...