// utils/validation.js const Joi = require("joi"); const registerSchema = Joi.object({ username: Joi.string().min(3).max(30).required().messages({ "string.empty": "Username is required", "string.min": "Username must be at least 3 characters long", "string.max": "Username must be at most 30 characters long", }), email: Joi.string().email().required().messages({ "string.email": "Email must be a valid email", "string.empty": "Email is required", }), // password: Joi.string().min(6).required().messages({ // "string.min": "Password must be at least 6 characters long", // "string.empty": "Password is required", // }), password: Joi.string() .pattern( new RegExp( "^(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])[A-Za-z0-9!@#$%^&*]{6,}$" ) ) .required() .messages({ "string.pattern.base": "Password must be at least 6 characters long and include at least one uppercase letter, one number, and one special character", "string.empty": "Password is required", }), }); const loginSchema = Joi.object({ email: Joi.string().email().required(), password: Joi.string().required(), }); module.exports = { registerSchema, loginSchema, };