快速验证器可选字段
express-validator optional fields
我收到了这个带有可选电子邮件的表单,我正在使用 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()
方法一样。你们知道发生了什么或者我做错了什么吗?
您可以尝试使用 .optional({ checkFalsy: true })
来检查虚假值(例如 "", 0, false, null)。
更多信息来自 docs
我收到了这个带有可选电子邮件的表单,我正在使用 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()
方法一样。你们知道发生了什么或者我做错了什么吗?
您可以尝试使用 .optional({ checkFalsy: true })
来检查虚假值(例如 "", 0, false, null)。
更多信息来自 docs