modarb-be / src /modules /console /admins /validations /create-admin.validation.ts
–ƒ–Hozifaelgharbawy
update
260547f
raw
history blame
1.52 kB
import * as joi from "joi";
import { Role } from "../enums/roles.enum";
export const createAdminSchema = 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",
}),
dob: joi.date().empty().optional().messages({
"date.base": "please enter a valid date",
}),
role: joi
.string()
.valid(...Object.values(Role))
.optional().messages({
"string.base": "please enter a valid role",
"string.empty": "role cannot be empty"
}),
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"
})
});