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

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")