You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.1 KiB
30 lines
1.1 KiB
import * as Joi from "joi";
|
|
|
|
export const UserSchema = Joi.object({
|
|
username: Joi.string().alphanum().min(6).max(35),
|
|
password: Joi.string().pattern(new RegExp("^[a-zA-Z0-9]{3,30}$")).required(),
|
|
email: Joi.string().email({
|
|
minDomainSegments: 2,
|
|
tlds: { allow: ["com", "net"] },
|
|
})
|
|
}).or("username", "email");
|
|
|
|
export const RegisterUserSchema = Joi.object({
|
|
username: Joi.string().alphanum().min(6).max(35),
|
|
password: Joi.string().pattern(new RegExp("^[a-zA-Z0-9]{3,30}$")).required(),
|
|
email: Joi.string().email({
|
|
minDomainSegments: 2,
|
|
tlds: { allow: ["com", "net"] },
|
|
}).required(),
|
|
nickname: Joi.string().alphanum().min(4).max(35),
|
|
})
|
|
|
|
export const LoginUserSchema = Joi.object({
|
|
referrer: Joi.string().allow('').optional(),
|
|
username: Joi.string().min(6).max(35), //Joi.string().alphanum().min(6).max(35)
|
|
password: Joi.string().pattern(new RegExp("^[a-zA-Z0-9]{3,30}$")).required(),
|
|
email: Joi.string().email({
|
|
minDomainSegments: 2,
|
|
tlds: { allow: ["com", "net"] },
|
|
}),
|
|
}).or("username", "email");
|
|
|