signup_request.go 854 B

12345678910111213141516171819202122232425262728293031323334353637
  1. // Package: requests 处理请求数据和表单验证逻辑
  2. package requests
  3. import (
  4. "github.com/gin-gonic/gin"
  5. "github.com/thedevsaddam/govalidator"
  6. )
  7. type SignupPhoneExistRequest struct {
  8. Phone string `json:"phone,omitempty" valid:"phone"`
  9. }
  10. func ValidateSignupPhoneExist(data any, c *gin.Context) map[string][]string {
  11. // 自定义验证规则
  12. rules := govalidator.MapData{
  13. "phone": []string{"required", "digits:11"},
  14. }
  15. // 自定义错误信息
  16. messages := govalidator.MapData{
  17. "phone": []string{
  18. "required:手机号不能为空",
  19. "digits:手机号必须是11位数字",
  20. },
  21. }
  22. opts := govalidator.Options{
  23. Data: data,
  24. Rules: rules,
  25. TagIdentifier: "valid", // 使用结构体中的valid标签
  26. Messages: messages,
  27. }
  28. // 执行验证
  29. return govalidator.New(opts).ValidateStruct()
  30. }