This is part of my login API used to validate the new user details. The function ifIDAlreadyExist checks the DB and returns true/false for exists/not exists respectively.
Even when the result is false, the error message is returned with the below code. What's wrong with this?
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"),
];
};
you're missing return
within custom
method:
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"),
];
};