// Package: requests 处理请求数据和表单验证逻辑 package requests import ( "github.com/gin-gonic/gin" "github.com/thedevsaddam/govalidator" ) type SignupPhoneExistRequest struct { Phone string `json:"phone,omitempty" valid:"phone"` } type SignupEmailExistRequest struct { Email string `json:"email,omitempty" valid:"email"` } 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位数字", }, } // 执行验证 return validate(data, rules, messages) } func ValidateSignupEmailExist(data any, c *gin.Context) map[string][]string { // 自定义验证规则 rules := govalidator.MapData{ "email": []string{"required", "min:4", "max:30", "email"}, } // 自定义错误信息 messages := govalidator.MapData{ "email": []string{ "required:Email 不能为空", "min:Email 长度需大于 4", "max:Email 长度需小于 30", "email:Email 格式不正确,请提供有效的邮箱地址", }, } // 执行验证 return validate(data, rules, messages) }