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.
32 lines
1.2 KiB
32 lines
1.2 KiB
import * as Joi from "joi"
|
|
|
|
export const UserSchema = Joi.object({
|
|
username: Joi.string().alphanum().min(6).max(35).error(new Error('用户名格式错误')),
|
|
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).required(),
|
|
password: Joi.string().pattern(new RegExp("^[a-zA-Z0-9]{3,30}$")).required(),
|
|
confrim_pwd: Joi.ref("password"),
|
|
email: Joi.string()
|
|
.email({
|
|
minDomainSegments: 2,
|
|
tlds: { allow: ["com", "net"] },
|
|
}),
|
|
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")
|
|
|