【发布时间】:2021-01-06 14:51:25
【问题描述】:
我正在使用 express-validator 来验证输入,还使用 Sequelize ORM 进行数据库查询。尝试在 express-validator 上验证自定义函数。无论输出如何,该功能总是失败这是验证器主体
验证器:
body('firmName').notEmpty().withMessage('Firm Name is required.').custom((name, { req, loc, path }) => {
Firm.findOne({ where: { firmName: name }}).then(firm => {
if(firm != null) {
return Promise.reject('errr')
} else {
return Promise.resolve('Ok')
}
}).catch(err => {
console.log(err)
return Promise.reject('errr')
})
}).withMessage('Firm Name already exists.'),
这就是我从控制器发送结果的方式:
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(422).json({ errors: errors.array() });
}
Sequelize 工作正常,但验证总是失败。我尝试返回布尔值,但也失败了。
【问题讨论】:
标签: node.js sequelize.js express-validator validator.js