我使用 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
);
我不知道为什么这个自定义验证器不起作用。我试图抛出新的错误而不是返回错误,但它只会让整个事情崩溃。我真的需要帮助