zoukankan      html  css  js  c++  java
  • GIn 自定义validator 使用binding还是validate的问题

    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
    }

    测试生效

  • 相关阅读:
    C++基类的析构函数定义为虚函数的原因
    android的学习网站
    QT显示url图片
    Ubuntu安装JDK
    linux下打包压缩和解压命令
    嵌入式目录
    QT pri 文件的作用
    QT pro文件详细写法+实例
    Computer(树的直径做法)
    树的直径
  • 原文地址:https://www.cnblogs.com/qinghuaL/p/14880830.html
Copyright © 2011-2022 走看看