1.25

为接口做参数校验

使用validator做参数校验
gin默认使用的是go-playground/validator,安装
go get -u github.com/go-playground/validator/v10

使用示例

1
2
3
type User {
age int `validate:"gte=18"` //表示大于等于18岁
}

进行验证

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
validate := validator.New()//创建验证器
err := validate.Struct(user)
for _, err := range err.(validator.ValidationErrors) {
fmt.Println(err.Namespace()) //命名
fmt.Println(err.Field())
fmt.Println(err.StructNamespace())
fmt.Println(err.StructField())
fmt.Println(err.Tag())
fmt.Println(err.ActualTag())
fmt.Println(err.Kind())
fmt.Println(err.Type())
fmt.Println(err.Value())
fmt.Println(err.Param())
fmt.Println()
}

文档网址
https://golang.halfiisland.com/community/pkgs/validate/Validator.html#%E5%85%B6%E4%BB%96