Esto es parte de mi API de inicio de sesión utilizada para validar los detalles del nuevo usuario. La función ifIDAlreadyExist verifica la base de datos y devuelve verdadero/falso para existe/no existe respectivamente.
Incluso cuando el resultado es falso, el mensaje de error se devuelve con el siguiente código. ¿Qué tiene de malo esto?
const RegInputValdiationRules = () => { return [ check("id") .not() .isEmpty() .withMessage("Please enter the login id") .custom((value) => { ifIDAlreadyExist(value).then((exists) => { console.log(exists); if (exists === true) return Promise.reject(""); else return true; }); }) .withMessage("ID already exists"), check("password") .not() .isEmpty() .isLength({ min: 6 }) .withMessage("Password should contain at least six characters"), ]; };
te falta el return
dentro del método custom
:
const RegInputValdiationRules = () => { return [ check("id") .not() .isEmpty() .withMessage("Please enter the login id") .custom((value) => { return ifIDAlreadyExist(value).then((exists) => { console.log(exists); if (exists === true) return Promise.reject(""); else return true; }); }) .withMessage("ID already exists"), check("password") .not() .isEmpty() .isLength({ min: 6 }) .withMessage("Password should contain at least six characters"), ]; };