create-nodeapi-backend
Version:
A powerful Node.js backend boilerplate with Express, MongoDB, Firebase, JWT auth, Nodemailer, cron jobs, input validation (Joi), and serverless support for Vercel. Scaffold a full-featured API backend in seconds.
33 lines (29 loc) • 883 B
JavaScript
const objectId = (value, helpers) => {
if (!value.match(/^[0-9a-fA-F]{24}$/)) {
return helpers.message('"{{#label}}" must be a valid mongo id');
}
return value;
};
const password = (value, helpers) => {
if (value.length < 8) {
return helpers.message("password must be at least 8 characters");
}
if (!value.match(/\d/) || !value.match(/[a-zA-Z]/)) {
return helpers.message(
"password must contain at least 1 letter and 1 number"
);
}
return value;
};
const validateProviderName = (value, helpers) => {
const validProviderNames = ["MTN", "Airtel", "Glo", "9Mobile"];
if (!validProviderNames.includes(value)) {
return helpers.error("any.invalid");
}
return value;
};
module.exports = {
objectId,
password,
validateProviderName,
};