beego 自定义表单验证规则

最近在学习使用beego框架,关于自定义表单验证规则如何像Range方法允许传输不同值类型的参数

首先定义了并在框架加载时候注册自定义的Message及方法

func init() {
    extensionValidators()
    setCustomMessage()
}
var InSliceValidator validation.CustomFunc = func(v *validation.Validation, obj interface{}, key string) {
  //TODO,自定义规则的主体内容
}

func extensionValidators()  {
    validation.AddCustomFunc("In", InSliceValidator)
}

func setCustomMessage()  {
    if len(messageTmpl) > 0 {
        for k, v := range messageTmpl {
            validation.MessageTmpls[k] = v
        }
    }
}

然后再控制器中定义structTags 规则

type RoleValidator struct {
    Name string `json:"name" valid:"Required" label:"名称"`
    IsActive int `json:"is_active" valid:"Required"`
}

现在的问题好想无法给In传参数使用 In(1,2)就无效了,

追踪了下CustomFunc方法没有多余的参数了,请问是否支持改类型的自定义支持如下写法?
翻了源码没看到相关可用(可疑)的方法,:joy: :joy:

type RoleValidator struct {
    Name string `json:"name" valid:"Required" label:"名称"`
    IsActive int `json:"is_active" valid:"Required;In(2,34,55)"`
}

请吧里的高手指教一下

讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!