signup_request.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. type SignupEmailExistRequest struct {
  11. Email string `json:"email,omitempty" valid:"email"`
  12. }
  13. func ValidateSignupPhoneExist(data any, c *gin.Context) map[string][]string {
  14. // 自定义验证规则
  15. rules := govalidator.MapData{
  16. "phone": []string{"required", "digits:11"},
  17. }
  18. // 自定义错误信息
  19. messages := govalidator.MapData{
  20. "phone": []string{
  21. "required:手机号不能为空",
  22. "digits:手机号必须是11位数字",
  23. },
  24. }
  25. // 执行验证
  26. return validate(data, rules, messages)
  27. }
  28. func ValidateSignupEmailExist(data any, c *gin.Context) map[string][]string {
  29. // 自定义验证规则
  30. rules := govalidator.MapData{
  31. "email": []string{"required", "min:4", "max:30", "email"},
  32. }
  33. // 自定义错误信息
  34. messages := govalidator.MapData{
  35. "email": []string{
  36. "required:Email 不能为空",
  37. "min:Email 长度需大于 4",
  38. "max:Email 长度需小于 30",
  39. "email:Email 格式不正确,请提供有效的邮箱地址",
  40. },
  41. }
  42. // 执行验证
  43. return validate(data, rules, messages)
  44. }