首页 > 其他 > 详细

GIn 自定义validator 使用binding还是validate的问题

时间:2021-06-13 19:13:01      阅读:42      评论:0      收藏:0      [点我收藏+]
github.com/gin-gonic/gin v1.7.2
关于validator
// Validator is the default validator which implements the StructValidator
// interface. It uses https://github.com/go-playground/validator/tree/v8.18.2
// under the hood.
var Validator StructValidator = &defaultValidator{}
type UserLoginInput struct {
    UserName string`json:"username" form:"username" comment:"姓名" binding:"required,my_validator"`
    PassWord string`json:"password" form:"password" comment:"密码"  binding:"required"`
}

升级到V10

github.com/go-playground/validator/v10 v10.6.1
package public

import (
    "fmt"
    "github.com/gin-gonic/gin/binding"
    validator2 "github.com/go-playground/validator/v10"
)

func InitVali() {
    v, ok := binding.Validator.Engine().(*validator2.Validate)
    if ok {
        // 自定义验证方法
        _ = v.RegisterValidation("my_validator", checkName)
    }
}


func checkName(fl validator2.FieldLevel) bool {
    field := fl.Field().String()
    fmt.Print(field)
    return false
}

测试生效

 

GIn 自定义validator 使用binding还是validate的问题

原文:https://www.cnblogs.com/qinghuaL/p/14880830.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!