category_request.go 882 B

123456789101112131415161718192021222324252627282930313233
  1. package requests
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "github.com/thedevsaddam/govalidator"
  5. )
  6. type CategoryRequest struct {
  7. Name string `valid:"name" json:"name"`
  8. Description string `valid:"description" json:"description,omitempty"`
  9. }
  10. func CategorySave(data any, c *gin.Context) map[string][]string {
  11. rules := govalidator.MapData{
  12. "name": []string{"required", "min_cn:2", "max_cn:8", "not_exists:categories,name"},
  13. "description": []string{"min_cn:3", "max_cn:255"},
  14. }
  15. messages := govalidator.MapData{
  16. "name": []string{
  17. "required:名称为必填项",
  18. "min_cn:名称长度需至少 2 个字",
  19. "max_cn:名称长度不能超过 8 个字",
  20. "not_exists:名称已存在",
  21. },
  22. "description": []string{
  23. "min_cn:描述长度需至少 3 个字",
  24. "max_cn:描述长度不能超过 255 个字",
  25. },
  26. }
  27. return validate(data, rules, messages)
  28. }