Экспресс-проверка правильности проверки наличия электронной почты в MySQL - PullRequest
0 голосов
/ 16 ноября 2018

Я использую экспресс-валидатор, чтобы проверить правильность введенного 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, но это просто вылетело.Мне действительно нужна помощь с этим

1 Ответ

0 голосов
/ 18 ноября 2018

Чтобы он работал правильно, а не возвращал ложное, вы отклоняете Обещание.

if (rows.length != 0) {
    return Promise.reject("user already exists.");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...