Files
server/app/http/requests/admin/department_create.go
T
2026-01-16 15:49:34 +08:00

69 lines
2.2 KiB
Go

package admin
import (
"goravel/app/http/helpers"
"goravel/app/http/trans"
"github.com/goravel/framework/contracts/http"
"github.com/goravel/framework/contracts/validation"
)
type DepartmentCreate struct {
ParentID uint `form:"parent_id" json:"parent_id"`
Name string `form:"name" json:"name"`
Code string `form:"code" json:"code"`
Leader string `form:"leader" json:"leader"`
Phone string `form:"phone" json:"phone"`
Email string `form:"email" json:"email"`
Status uint8 `form:"status" json:"status"`
Sort int `form:"sort" json:"sort"`
Remark string `form:"remark" json:"remark"`
}
func (r *DepartmentCreate) Authorize(ctx http.Context) error {
return nil
}
func (r *DepartmentCreate) Rules(ctx http.Context) map[string]string {
return map[string]string{
"name": "required|max_len:50",
"code": "max_len:50",
"leader": "max_len:50",
"phone": "max_len:20",
"email": "email|max_len:100",
"status": "in:0,1",
"remark": "max_len:500",
}
}
func (r *DepartmentCreate) Messages(ctx http.Context) map[string]string {
return map[string]string{
"name.required": trans.Get(ctx, "department_name_required"),
"name.max_len": trans.Get(ctx, "validation_name_max"),
"code.max_len": trans.Get(ctx, "validation_code_max"),
"leader.max_len": trans.Get(ctx, "validation_leader_max"),
"phone.max_len": trans.Get(ctx, "validation_phone_max"),
"email.email": trans.Get(ctx, "validation_email_format"),
"email.max_len": trans.Get(ctx, "validation_email_max"),
"status.in": trans.Get(ctx, "validation_status_in"),
"remark.max_len": trans.Get(ctx, "validation_remark_max"),
}
}
func (r *DepartmentCreate) Attributes(ctx http.Context) map[string]string {
return map[string]string{
"name": trans.Get(ctx, "validation_name"),
"code": trans.Get(ctx, "validation_code"),
"leader": trans.Get(ctx, "validation_leader"),
"phone": trans.Get(ctx, "validation_phone"),
"email": trans.Get(ctx, "validation_email"),
"status": trans.Get(ctx, "validation_status"),
"remark": trans.Get(ctx, "validation_remark"),
}
}
func (r *DepartmentCreate) PrepareForValidation(ctx http.Context, data validation.Data) error {
return helpers.PrepareNumericFieldForValidation(data, "status")
}