UNPKG

express-mongo-boilerplate-generator

Version:

A production-ready boilerplate generator for Express.js and MongoDB with service layer architecture and Joi validation

55 lines (52 loc) 1.34 kB
const Joi = require('joi'); const validate = require('../middleware/validate'); const signupSchema = Joi.object({ name: Joi.string() .min(2) .max(50) .required() .messages({ 'string.empty': 'Name is required', 'string.min': 'Name must be at least 2 characters', 'string.max': 'Name cannot exceed 50 characters' }), email: Joi.string() .email() .required() .messages({ 'string.empty': 'Email is required', 'string.email': 'Please provide a valid email' }), password: Joi.string() .min(6) .required() .messages({ 'string.empty': 'Password is required', 'string.min': 'Password must be at least 6 characters' }), confirmPassword: Joi.string() .valid(Joi.ref('password')) .required() .messages({ 'any.only': 'Passwords do not match', 'string.empty': 'Please confirm your password' }) }); const loginSchema = Joi.object({ email: Joi.string() .email() .required() .messages({ 'string.empty': 'Email is required', 'string.email': 'Please provide a valid email' }), password: Joi.string() .required() .messages({ 'string.empty': 'Password is required' }) }); module.exports = { validateSignup: validate(signupSchema), validateLogin: validate(loginSchema) };