// Package: requests 处理请求数据和表单验证逻辑 package requests import ( "github.com/gin-gonic/gin" "github.com/thedevsaddam/govalidator" ) type SignupPhoneExistRequest struct { Phone string `json:"phone,omitempty" valid:"phone"` } func ValidateSignupPhoneExist(data any, c *gin.Context) map[string][]string { // 自定义验证规则 rules := govalidator.MapData{ "phone": []string{"required", "digits:11"}, } // 自定义错误信息 messages := govalidator.MapData{ "phone": []string{ "required:手机号不能为空", "digits:手机号必须是11位数字", }, } opts := govalidator.Options{ Data: data, Rules: rules, TagIdentifier: "valid", // 使用结构体中的valid标签 Messages: messages, } // 执行验证 return govalidator.New(opts).ValidateStruct() }