package api import ( "goravel/app/http/trans" "github.com/goravel/framework/contracts/http" "github.com/goravel/framework/contracts/validation" ) type UserRegister struct { Username string `form:"username" json:"username"` Password string `form:"password" json:"password"` Nickname string `form:"nickname" json:"nickname"` Email string `form:"email" json:"email"` Phone string `form:"phone" json:"phone"` } func (r *UserRegister) Authorize(ctx http.Context) error { return nil } func (r *UserRegister) Rules(ctx http.Context) map[string]string { return map[string]string{ "username": "required|min_len:3|max_len:50|not_exists:users,username", "password": "required|min_len:6|max_len:50", "nickname": "max_len:50", "email": "email|max_len:100|not_exists:users,email", "phone": "max_len:20", } } func (r *UserRegister) Messages(ctx http.Context) map[string]string { return map[string]string{ "username.required": trans.Get(ctx, "validation_username_required"), "username.min_len": trans.Get(ctx, "validation_username_min"), "username.max_len": trans.Get(ctx, "validation_username_max"), "username.not_exists": trans.Get(ctx, "username_exists"), "password.required": trans.Get(ctx, "validation_password_required"), "password.min_len": trans.Get(ctx, "validation_password_min"), "password.max_len": trans.Get(ctx, "validation_password_max"), "nickname.max_len": trans.Get(ctx, "validation_nickname_max"), "email.email": trans.Get(ctx, "validation_email_format"), "email.max_len": trans.Get(ctx, "validation_email_max"), "email.not_exists": trans.Get(ctx, "email_already_exists"), "phone.max_len": trans.Get(ctx, "validation_phone_max"), } } func (r *UserRegister) Attributes(ctx http.Context) map[string]string { return map[string]string{ "username": trans.Get(ctx, "attribute_username"), "password": trans.Get(ctx, "attribute_password"), "nickname": trans.Get(ctx, "attribute_nickname"), "email": trans.Get(ctx, "attribute_email"), "phone": trans.Get(ctx, "attribute_phone"), } } func (r *UserRegister) PrepareForValidation(ctx http.Context, data validation.Data) error { return nil }