Мне нужно проверить, существует ли пользователь с переданным email
ИЛИ login
в базе данных.
const userModel = new User();
const user = await userModel.findByLogin(req.body.email, req.body.login);
if (user) {
req.checkBody('email', 'Email already in use').custom(value => user.email === value ? Promise.reject('Email already in use') : value);
req.checkBody('login', 'Login already in use').custom(value => user.login === value ? Promise.reject('Login already in use') : value);
}
const errors = req.validationErrors();
findByLogin
принимает email
и login
и возвращает существующие user
или null
. Проверка электронной почты работает, как и ожидалось. Но если я попытаюсь зарегистрировать пользователя с уникальным email
и существующим login
, это не создаст никаких ошибок (errors
это false
).