const validatorSchema = {
userName: {
custom: {
options: (value) => {
if (dataUtils.isEmpty(value) || value === null) {
return false;
}
},
errorMessage: "userName field is empty",
},
custom: {
options: (value) => {
return User.findOne({
where: {
userName: value,
},
}).then((user) => {
if (user == null) {
return true;
} else {
return Promise.reject(user);
}
});
},
errorMessage: "User already existed",
},
custom: {
options: (value) => {
if (dataUtils.whiteSpaceChecker(value) && value != null) {//not allow whiteSpace between
return false;
}
},
errorMessage: "Wrong format userName",
},
},
}
{
"userName": "notExistedUser",
"password": "samplePassword"
}
I do it by following this tutorial
But I want do more than check Existed User only and it didn't work as expected
Response always send
"errors": [
{
"value": "notExistedUser",
"msg": "Wrong format userName",
"param": "userName",
"location": "body"
}
]
const { body, checkSchema, validationResult } = require("express-validator");
app.post('/signup', checkSchema(validatorSchema), (req, res) => {
// Validate incoming input
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({
errors: errors
});
}
next();
})
Thanks for reading this article,I hope can reach the solution for this !