gpt4 book ai didi

node.js - 自定义express-validator验证器不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 23:20:18 26 4
gpt4 key购买 nike

我的代码有问题,我设置了检查电子邮件的验证(如果已在数据库中),其他验证可以工作,但在电子邮件验证中不起作用

这是我在 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,您做错的是解开第二个参数来获取req.custom() takes a validator(value, { req, location, path }) function .

只需将其更改如下:

// before
// .custom((value, req ) => {
// after
.custom((value, { req }) => {

...然后,如果您的 AuthController.findUserByEmail() 逻辑正确,它应该按您的预期工作;)

关于node.js - 自定义express-validator验证器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50693781/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com