https://pkg.go.dev/github.com/go-playground/validator/v10#readme-baked-in-validations文章来源:https://www.toymoban.com/news/detail-679296.html
- min 最小
- max 最大
- len 长度限制
- gt 大于
- eq 等于
- ne 不等于
- eqfield 与某个字段值一样
- nefield 与某个字段值不一样
- oneof 枚举 ,以空格分开
- startswith
- endswith
- dive 数组
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
type UserInfo struct {
UserName string `json:"username" binding:"required,min=4,max=6"`
Age int `json:"age" binding:"gt=18,lte=120"`
Password string `json:"password" binding:"required"`
Sex string `json:"sex" binding:"oneof=man woman"`
Password2 string `json:"password2" binding:"required,eqfield=Password"`
}
// 结构体中写json
func validation(c *gin.Context) {
var user UserInfo
err := c.ShouldBindJSON(&user)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{"msg": err.Error()})
} else {
c.JSON(http.StatusOK, user)
}
}
func main() {
router := gin.Default()
router.POST("/validation", validation)
router.Run("localhost:9999")
}
文章来源地址https://www.toymoban.com/news/detail-679296.html
到了这里,关于go gin 参数绑定常用验证器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!