nodejs express-validator:仅当值存在时才验证电子邮件格式
nodejs express-validator: validate email format only if value exists
我有以下验证规则(nodejs、express-validator)
---------------------
check('email').not().isEmpty().withMessage('email is required'),
check('email').isEmail().withMessage('email not valid'),
---------------------
现在,如果我提交没有电子邮件地址值的表单,将会出现以下错误。
email is required
email not valid
我只想在电子邮件值存在时检查电子邮件格式,这样只会出现一条错误消息,'email is required' 或 'email not valid'。
有什么建议吗?
根据文档,如果链中之前的任何验证失败,.bail()
可用于停止 运行 进一步验证。
试试这个:
check("email")
.not()
.isEmpty()
.withMessage("email is required")
.bail()
// if email is empty, the following will not be run
.isEmail()
.withMessage("email not valid");
我有以下验证规则(nodejs、express-validator)
---------------------
check('email').not().isEmpty().withMessage('email is required'),
check('email').isEmail().withMessage('email not valid'),
---------------------
现在,如果我提交没有电子邮件地址值的表单,将会出现以下错误。
email is required
email not valid
我只想在电子邮件值存在时检查电子邮件格式,这样只会出现一条错误消息,'email is required' 或 'email not valid'。
有什么建议吗?
根据文档,如果链中之前的任何验证失败,.bail()
可用于停止 运行 进一步验证。
试试这个:
check("email")
.not()
.isEmpty()
.withMessage("email is required")
.bail()
// if email is empty, the following will not be run
.isEmail()
.withMessage("email not valid");