| 1234567891011121314151617181920212223242526272829303132333435363738 |
- // Author: simon (ynwdlxm@163.com)
- // Date: 2025/7/15 14:16
- // Desc: 分页请求验证器
- package requests
- import (
- "github.com/gin-gonic/gin"
- "github.com/thedevsaddam/govalidator"
- )
- type PaginationRequest struct {
- Sort string `valid:"sort" form:"sort"`
- Order string `valid:"order" form:"order"`
- PerPage string `valid:"per_page" form:"per_page"`
- }
- func Pagination(data any, c *gin.Context) map[string][]string {
- rules := govalidator.MapData{
- "sort": []string{"in:id,created_at,updated_at"},
- "order": []string{"in:asc,desc"},
- "per_page": []string{"numeric_between:2,100"},
- }
- messages := govalidator.MapData{
- "sort": []string{
- "in:排序字段仅支持 id,created_at,updated_at",
- },
- "order": []string{
- "in:排序规则仅支持 asc,desc",
- },
- "per_page": []string{
- "numeric_between:每页条数的值介于 2~100 之间",
- },
- }
- return validate(data, rules, messages)
- }
|