gpt4 book ai didi

mysql - Express-validator 检查电子邮件是否存在于 MySQL 中

转载 作者:行者123 更新时间:2023-11-29 09:59:12 24 4
gpt4 key购买 nike

我使用express-validator来检查输入的req.body是否有效,并检查MySQL数据库中是否有重复的电子邮件

这是我的代码:

  router.post(
"/signup",
[
body("uemail","email is not valid")
.isEmail()
.normalizeEmail()
.custom(async (email, {req} )=>{

const queryString = "SELECT uid FROM EarlyUsers WHERE `uemail` = ?";
return await connection.query(queryString, [email], (err, rows, fields) => {
if (err) {
console.log(err)
}else {
if (rows.length != 0) {
return false
} else {
return true
}
}
});

})
,
body("uname").isLength({ min: 5 })
],
authControllers.signUp
);

我不知道为什么这个自定义验证器不起作用。我尝试抛出新的错误而不是返回 false,但它只会使整个事情崩溃。我真的需要这方面的帮助

最佳答案

为了让它正常工作而不是返回 false,你需要拒绝 Promise。

if (rows.length != 0) {
return Promise.reject("user already exists.");
}

关于mysql - Express-validator 检查电子邮件是否存在于 MySQL 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53344332/

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