0

我正在使用 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: '' } ]

如果任何一个验证失败,如何制动链条。

4

2 回答 2

2

对此的修复终于登陆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 });
于 2016-11-25T06:07:44.027 回答
1

看起来您需要为空参数添加错误消息:

用户名:{notEmpty:{errorMessage:'用户名不能为空'},isEmail:{errorMessage:'无效的电子邮件。' } }...

于 2017-04-17T09:25:42.043 回答