我的代码有问题,我设置了检查电子邮件的验证(如果已经在数据库中),其他验证了它的工作,但是在验证电子邮件中不起作用
这是我在Controller中的代码
AuthController.register = (req, res) => {
//EMAIL
req.checkBody('email')
.isEmail().withMessage( "must be provided" )
.custom((value, req ) => {
return AuthController.findUserByEmail(req, value).then(user => {
if(user == true){
return Promise.reject('E-mail already in use');
}
});
}).withMessage('E-mail already in use');
}
此代码未调整错误,可以帮助我解决此问题
关于express-validator,您在做错的是获取get的第二个参数的展开req
。.custom()
具有validator(value, { req, location, path })
功能。
只需如下更改即可:
// before
// .custom((value, req ) => {
// after
.custom((value, { req }) => {
...然后,如果您的AuthController.findUserByEmail()
逻辑正确,它应该可以按预期工作;)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句