Spaces:
Running
Running
File size: 5,321 Bytes
a6fbb8d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
import joi from 'joi';
export class userBaseValidation {
static createValidation = {
body: joi.object().required().keys({
name: joi.string().empty().required().messages({
"string.base": "please enter a valid name",
"any.required": "name is required",
"string.empty": "name can not be empty",
}),
email: joi.string().required().email({ minDomainSegments: 2, tlds: { allow: ['com', 'net', 'org', 'eg', 'io'] } }).empty().messages({
"string.email": "please enter a valid email",
"any.required": "email must be entered",
"string.empty": "email can not be empty",
}),
password: joi.string().empty().min(8).required().messages({
"string.base": "please enter a valid password",
"any.required": "password must be entered",
"string.empty": "password cannot be empty",
"string.min": "password must be at least 8 characters"
}),
confirmPassword: joi.string().empty().min(8).required().messages({
"string.base": "please enter a valid password",
"any.required": "password must be entered",
"string.empty": "password cannot be empty",
"string.min": "password must be at least 8 characters"
}),
image: joi.object().optional().keys({
url: joi.string().optional().messages({
"string.base": "please enter a valid url",
}),
public_id: joi.string().optional().messages({
"string.base": "please enter a valid public_id",
})
}),
gender: joi.string().empty().required().messages({
"string.base": "please enter a valid gender",
"any.required": "gender must be entered",
"string.empty": "gender cannot be empty",
}),
height: joi.number().empty().required().messages({
"number.base": "please enter a valid height number",
"any.required": "height must be entered",
"number.empty": "height cannot be empty",
}),
weight: joi.number().empty().required().messages({
"number.base": "please enter a valid weight number",
"any.required": "weight must be entered",
"number.empty": "weight cannot be empty",
}),
fitness_level: joi.string().empty().required().messages({
"string.base": "please enter a valid fitness_level",
"any.required": "fitness_level must be entered",
"string.empty": "fitness_level cannot be empty",
}),
preferences: joi.object().optional().keys({
fitness_goal: joi.string().empty().required().messages({
"string.base": "please enter a valid fitness_goal",
"any.required": "fitness_goal must be entered",
"string.empty": "fitness_goal cannot be empty",
}),
target_weight: joi.number().empty().required().messages({
"number.base": "please enter a valid target_weight number",
"any.required": "target_weight must be entered",
"number.empty": "target_weight cannot be empty",
}),
workout_frequency: joi.number().empty().required().messages({
"number.base": "please enter a valid workout_frequency number",
"any.required": "workout_frequency must be entered",
"number.empty": "workout_frequency cannot be empty",
}),
preferred_days: joi.array().empty().required().items(joi.string().empty().required().messages({
"string.base": "please enter a valid preferred_days",
"any.required": "preferred_days must be entered",
"string.empty": "preferred_days cannot be empty",
})),
workout_place: joi.string().empty().required().messages({
"string.base": "please enter a valid workout_place",
"any.required": "workout_place must be entered",
"string.empty": "workout_place cannot be empty",
}),
preferred_equipment: joi.array().empty().required().items(joi.string().empty().required().messages({
"string.base": "please enter a valid preferred_equipment",
"any.required": "preferred_equipment must be entered",
"string.empty": "preferred_equipment cannot be empty",
}))
}),
injuries: joi.array().empty().required().items(joi.string().empty().required().messages({
"string.base": "please enter a valid injuries",
"any.required": "injuries must be entered",
"string.empty": "injuries cannot be empty",
})),
dob: joi.date().empty().optional().messages({
"date.base": "please enter a valid date",
})
})
}
} |