init
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
"goravel/app/http/helpers"
|
||||
"goravel/app/http/trans"
|
||||
|
||||
"github.com/goravel/framework/contracts/http"
|
||||
"github.com/goravel/framework/contracts/validation"
|
||||
)
|
||||
|
||||
type AdminUpdate struct {
|
||||
Nickname string `form:"nickname" json:"nickname"`
|
||||
Email string `form:"email" json:"email"`
|
||||
Phone string `form:"phone" json:"phone"`
|
||||
Password string `form:"password" json:"password"`
|
||||
DepartmentID uint `form:"department_id" json:"department_id"`
|
||||
Status uint8 `form:"status" json:"status"`
|
||||
RoleIDs []uint `form:"role_ids" json:"role_ids"`
|
||||
}
|
||||
|
||||
func (r *AdminUpdate) Authorize(ctx http.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *AdminUpdate) Rules(ctx http.Context) map[string]string {
|
||||
return map[string]string{
|
||||
"nickname": "max_len:50",
|
||||
"email": "email|max_len:100",
|
||||
"phone": "max_len:20",
|
||||
"password": "min_len:6|max_len:50",
|
||||
"status": "in:0,1",
|
||||
}
|
||||
}
|
||||
|
||||
func (r *AdminUpdate) Messages(ctx http.Context) map[string]string {
|
||||
return map[string]string{
|
||||
"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"),
|
||||
"phone.max_len": trans.Get(ctx, "validation_phone_max"),
|
||||
"password.min_len": trans.Get(ctx, "validation_password_min"),
|
||||
"password.max_len": trans.Get(ctx, "validation_password_max"),
|
||||
"status.in": trans.Get(ctx, "validation_status_in"),
|
||||
}
|
||||
}
|
||||
|
||||
func (r *AdminUpdate) Attributes(ctx http.Context) map[string]string {
|
||||
return map[string]string{
|
||||
"nickname": trans.Get(ctx, "validation_nickname"),
|
||||
"email": trans.Get(ctx, "validation_email"),
|
||||
"phone": trans.Get(ctx, "validation_phone"),
|
||||
"password": trans.Get(ctx, "validation_password"),
|
||||
"status": trans.Get(ctx, "validation_status"),
|
||||
}
|
||||
}
|
||||
|
||||
func (r *AdminUpdate) PrepareForValidation(ctx http.Context, data validation.Data) error {
|
||||
// 将 status 字段转换为字符串,以便 in 规则能正确验证
|
||||
return helpers.PrepareNumericFieldForValidation(data, "status")
|
||||
}
|
||||
Reference in New Issue
Block a user