im使用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,但它只是破坏了整个过程。我真的需要帮助