express-validator可选字段

问题描述 投票:0回答:1

强调文本收到了带有可选电子邮件的表格,并且我正在使用express-validator进行服务器端验证。

当我提交时,应该先验证然后处理数据以保存它。

routes / users.js

router.post('/save', users.validationRules(), users.save)

controllers / usersController.js

usersController.validationRules = () {
  return [
    // ...
    // Some other validation rules that works
    // ...
    check('email', 'You need a valid Email')
        .optional()
        .isEmail(),
    // ... More validation rules that also works ...
  ]
}

usersController.save = (req, res) => {

    let errors = validationResult(req)

    console.log(errors);
}

它向我显示错误消息,就像它忽略了optional()方法一样。你们对正在发生的事情或我在做什么错有任何想法吗?

node.js express express-validator
1个回答
0
投票

您可以尝试使用.optional({ checkFalsy: true })来检查伪造的值(例如““,0,false,null)。

docs上的更多信息>

© www.soinside.com 2019 - 2024. All rights reserved.