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
    }

    测试生效

  • 相关阅读:
    01Game
    面试题
    面试题
    面向对象笔记
    1212作业
    12011作业
    1210作业
    1206作业
    1205作业
    1204作业
  • 原文地址:https://www.cnblogs.com/qinghuaL/p/14880830.html
Copyright © 2011-2022 走看看