1 Star 16 Fork 3

A-涛/protoc-go-valid

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
valid.go 2.47 KB
一键复制 编辑 原始数据 按行查看 历史
package valid
// *******************************************************************************
// * 验证 struct *
// *******************************************************************************
// Struct 验证结构体
func Struct(src interface{}, ruleObj ...RM) error {
obj := NewVStruct()
if len(ruleObj) > 0 {
obj.SetRule(ruleObj[0])
}
return obj.Valid(src)
}
// StructForFn 验证结构体, 同时设置自定义参数
func StructForFn(src interface{}, ruleObj RM, targetTag ...string) error {
return NewVStruct(targetTag...).SetRule(ruleObj).Valid(src)
}
// ValidateStruct 验证结构体
func ValidateStruct(src interface{}, targetTag ...string) error {
return NewVStruct(targetTag...).Valid(src)
}
// ValidStructForRule 自定义验证规则并验证
// 注: 通过字段名来匹配规则, 如果嵌套中如果有相同的名的都会走这个规则, 因此建议这种方式推荐使用非嵌套结构体
func ValidStructForRule(ruleObj RM, src interface{}, targetTag ...string) error {
return NewVStruct(targetTag...).SetRule(ruleObj).Valid(src)
}
// ValidStructForMyValidFn 自定义单个验证函数
func ValidStructForMyValidFn(src interface{}, validName string, validFn CommonValidFn, targetTag ...string) error {
return NewVStruct(targetTag...).SetValidFn(validName, validFn).Valid(src)
}
// *******************************************************************************
// * 验证 单个变量 *
// *******************************************************************************
// Var 验证变量
func Var(src interface{}, rules ...string) error {
return NewVVar().SetRules(rules...).Valid(src)
}
// VarForFn 验证变量, 同时设置自定义函数
func VarForFn(src interface{}, validFn CommonValidFn) error {
return NewVVar().SetValidFn(validVarFieldName, validFn).Valid(src)
}
// *******************************************************************************
// * 验证 query url *
// *******************************************************************************
// Url 验证变量
func Url(src interface{}, ruleObj RM) error {
return NewVUrl().SetRule(ruleObj).Valid(src)
}
// UrlForFn 验证 url, 同时设置自定义函数
func UrlForFn(src interface{}, validName string, validFn CommonValidFn) error {
return NewVUrl().SetValidFn(validName, validFn).Valid(src)
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/xuesongtao/protoc-go-valid.git
git@gitee.com:xuesongtao/protoc-go-valid.git
xuesongtao
protoc-go-valid
protoc-go-valid
v1.6.1

搜索帮助