GitHub:go-playground / validator
参考博文:gin-binding — go-playground/validator 的常用关键字
Gin框架默认使用 validator(binding);其它框架可以引入使用;
3、详情| 关键字 | 针对对象 | 功能 | 示例 |
|---|---|---|---|
| required | 属性,结构,文件 | 标示必须存在(0时验证失败) | validate:"required" |
| omitempty | 属性,结构,文件 | omitempty要么不传,传的话就要大于5 | validate:"omitempty,gt=5" |
| len | 字符串,数组,时间间隔,文件长度 | 标示长度,size,间隔,大小 | validate:"len=1" |
| min | 字符串,数字,数组,时间间隔 | 标示最小 | validate:"min=1" |
| max | 字符串,数字,数组,时间 | 标示最大 | validate:"max=7" |
| eq | 字符串,数组,时间间隔,布尔值 | 标示相等,正对数组是长度 | validate:"eq=3" |
| ne | 字符串,数组,时间间隔,布尔值 | 标示不相等 | validate:"ne=" |
| lt | 字符串,数字,数组,时间 | 小于 | validate:"lt=3" |
| lte | 字符串,数字,数组,时间 | 小于等于 | validate:"lte=3" |
| gt | 字符串,数字,数组,时间 | 大于 | validate:"gt=3" |
| gte | 字符串,数字,数组,时间 | 大于等于 | validate:"gte=3" |
| eqfield | 同级属性 | 等于 | validate:"eqfield=MaxString" |
| eqcsfield | 内部属性 | 等于 | validate:"eqcsfield=Inner.EqCSFieldString" |
| necsfield | 内部属性 | 不等于 | validate:"necsfield=Inner.NeCSFieldString" |
| gtcsfield | 内部属性 | 大于 | validate:"gtcsfield=Inner.GtCSFieldString" |
| ltcsfield | 内部属性 | 小于 | validate:"ltcsfield=Inner.LtCSFieldString" |
| ltecsfield | 内部属性 | 小于等于 | validate:"ltecsfield=Inner.LteCSFieldString" |
| nefield | 同级属性 | 不等于 | validate:"nefield=EqFieldString" |
| gtfield | 同级属性 | 大于 | validate:"gtfield=MaxString" |
| gtefield | 同级属性 | 大于等于 | validate:"gtefield=MaxString" |
| ltfield | 同级属性 | 小于 | validate:"ltfield=MaxString" |
| ltefield | 同级属性 | 小于等于 | validate:"ltefield=MaxString" |
| alpha | 字符串 | "^[a-zA-Z]+$" | validate:"alpha" |
| alphanum | 字符串 | "^[a-zA-Z0-9]+$" | validate:"alphanum" |
| numeric | 字符串 | "^[-+]?[0-9]+(?:\.[0-9]+)?$" | validate:"numeric" |
| number | 字符串 | "^[0-9]+$" | validate:"number" |
| hexadecimal | 字符串 | "^(0[xX])?[0-9a-fA-F]+$" | validate:"hexadecimal" |
| hexcolor | 字符串 | "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$" | validate:"hexcolor" |
| rgb | 字符串 | 复杂正则不展示 | validate:"rgb" |
| rgba | 字符串 | 复杂正则不展示 | |
| hsl | 字符串 | 复杂正则不展示 | |
| hsla | 字符串 | 复杂正则不展示 | |
| 字符串 | 复杂正则不展示 | validate:"email" | |
| url | 字符串 | url规则 | validate:"url" |
| uri | 字符串 | uri规则 | validate:"uri" |
| base64 | 字符串 | "^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=|[A-|Za-z0-9+\/]{4})$" | validate:"base64" |
| contains | 字符串 | 包含 | validate:"contains=purpose" |
| containsany | 字符串 | 包含任意一个 | validate:"containsany=!@#$" |
| excludes | 字符串 | 不包含 | validate:"excludes=text" |
| excludesall | 字符串 | 不包含任意一个 | validate:"excludesall=!@#$" |
| excludesrune | 字符串 | 不包含某个rune类型 | validate:"excludesrune=☻" |
| isbn | 字符串 | 两个isbn | validate:"isbn" |
| isbn10 | 字符串 | "^(?:[0-9]{9}X|[0-9]{10})$" | validate:"isbn10" |
| isbn13 | 字符串 | ^(?:(?:97(?:8|9))[0-9]{10})$" | validate:"isbn13" |
| uuid | 字符串 | "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" | validate:"uuid" |
| uuid3 | 字符串 | "^[0-9a-f]{8}-[0-9a-f]{4}-3[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$" | validate:"uuid3" |
| uuid4 | 字符串 | "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" | validate:"uuid4" |
| uuid5 | 字符串 | "^[0-9a-f]{8}-[0-9a-f]{4}-5[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" | validate:"uuid5" |
| ascii | 字符串 | "^[x00-x7F]*$" | validate:"ascii" |
| printascii | 字符串 | ^[x20-x7E]*$" | validate:"printascii" |
| multibyte | 字符串 | "[^x00-x7F]" | validate:"multibyte" |
| datauri | 字符串 | ^data:((?:w+/(?:([^;]|;[^;]).)+)?) | validate:"datauri" |
| latitude | 字符串 | "^[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?)$" | validate:"latitude" |
| longitude | 字符串 | "^[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)$" | validate:"longitude" |
| ssn | 字符串 | ^[0-9]{3}[ -]?(0[1-9]|[1-9][0-9])[ -]?([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]|[0-9]{3}[1-9])$ | validate:"ssn" |
| ip | 字符串 | ip规则 | validate:"ip" |
| ipv4 | 字符串 | ipv4规则 | validate:"ipv4" |
| ipv6 | 字符串 | ipv6规则 | validate:"ipv6" |
| cidr | 字符串 | ip规则 | validate:"cidr" |
| cidrv4 | 字符串 | ipv4规则 | validate:"cidrv4" |
| cidrv6 | 字符串 | ipv6规则 | validate:"cidrv6" |
| tcp_addr | 字符串 | 对应规则按需验证 | validate:"tcp_addr" |
| tcp4_addr | 字符串 | 对应规则按需验证 | validate:"tcp4_addr" |
| tcp6_addr | 字符串 | 对应规则按需验证 | validate:"tcp6_addr" |
| udp_addr | 字符串 | 对应规则按需验证 | validate:"udp_addr" |
| udp4_addr | 字符串 | 对应规则按需验证 | validate:"udp4_addr" |
| udp6_addr | 字符串 | 对应规则按需验证 | validate:"udp6_addr" |
| ip_addr | 字符串 | 对应规则按需验证 | validate:"ip_addr" |
| ip4_addr | 字符串 | 对应规则按需验证 | validate:"ip4_addr" |
| ip6_addr | 字符串 | 对应规则按需验证 | validate:"ip6_addr" |
| unix_addr | 字符串 | 对应规则按需验证 | validate:"unix_addr" |
| mac | 字符串 | 对应规则按需验证 | validate:"mac" |
| iscolor | 字符串 | 颜色校验所有颜色规则 | validate:"iscolor" |
| oneof | OneOfString | 对应规则按需验证 | validate:"oneof=red green" |
| oneof | OneOfInt | 对应规则按需验证 | validate:"oneof=5 63" |
| unique | UniqueSlice | 对应规则按需验证 | validate:"unique" |
| unique | UniqueArray | 对应规则按需验证 | validate:"unique" |
| unique | UniqueMap | 对应规则按需验证 | validate:"unique" |
| json | JSONString | 对应规则按需验证 | validate:"json" |
| lowercase | LowercaseString | 对应规则按需验证 | validate:"lowercase" |
| uppercase | UppercaseString | 对应规则按需验证 | validate:"uppercase" |
| datetime | Datetime | 对应规则按需验证 | validate:"datetime=2006-01-02" |



