| 12345678910111213141516171819202122232425262728 |
- package requests
- import (
- "github.com/gin-gonic/gin"
- "github.com/thedevsaddam/govalidator"
- )
- type TopicRequest struct {
- Title string `json:"title,omitempty" valid:"title"`
- Body string `json:"body,omitempty" valid:"body"`
- CategoryID string `json:"category_id,omitempty" valid:"category_id"`
- }
- func TopicSave(data any, c *gin.Context) map[string][]string {
- rules := govalidator.MapData{
- "title": []string{"required", "min_cn:3", "max_cn:40"},
- "body": []string{"required", "min_cn:10", "max_cn:50000"},
- "category_id": []string{"required", "exists:categories,id"},
- }
- messages := govalidator.MapData{
- "title": []string{"required:标题为必填项", "min_cn:标题长度需至少 3 个字符", "max_cn:标题长度不能超过 40 个字符"},
- "body": []string{"required:内容为必填项", "min_cn:内容长度需至少 10 个字符", "max_cn:内容长度不能超过 50000 个字符"},
- "category_id": []string{"required:分类为必填项", "exists:分类不存在"},
- }
- return validate(data, rules, messages)
- }
|