Spaces:
Running
Running
File size: 4,801 Bytes
433085e a6fbb8d 433085e a6fbb8d 433085e a6fbb8d 433085e |
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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
import joi from "joi";
export const userRegisterValidation = 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",
}),
});
|