驗證器 說明 示例
- 忽略欄位 binding:"-"
required 必填欄位 binding:“required”
min 最小長度 binding:“min=10”
max 最大長度 binding:“max=10”
| 或 binding:"rgb
structonly 如果有巢狀,可以決定只驗證結構體上的 binding:“structonly”
omitempty 省略空,如果為空,則不會繼續驗證該欄位上其他的規則,只有不為空才會繼續驗證其他的
len 長度 binding:“len=10”
eq 等於 binding:“eq=10”
ne 不等於 binding:“ne=10”
gt 大於 binding:“gt=10”
gte 大於等於 binding:“gte=10”
lt 小於 binding:“lt=10”
lte 小於等於 binding:“lte=10”
eqfield 等於其他欄位的值 Password string binding:"eqfield=ConfirmPassword"
nefield 不等於其他欄位的值
eqcsfield 類似eqfield,它會驗證相對於頂層結構提供的欄位 binding:"eqcsfield = InnerStructField.Field
necsfield
gtfield 大於其他欄位的值
gtefield
gtcsfield
gtecsfield
ltfield 小於其他欄位的值
ltefield
ltcsfield
ltecsfield
alpha 字串值僅包含字母字元
alphanum 字串值僅包含字母數字字元
numeric 字串值包含基本數字值。基本不包括指數等…
hexadecimal 字串值包含有效的十六進位制
hexcolor 驗證字串值包含有效的十六進位制顏色, 包括井號(#)
rgb 字串值包含有效的rgb顏色
rgba 字串值包含有效的rgba顏色
HSL 字串值包含有效的hsl顏色
hsla 字串值包含有效的hsla顏色
email 字串值包含有效的電子郵件
url 字串值包含有效的網址,必須包含http://等
uri 字串值包含有效的uri. 它將接受golang請求uri接受的任何uri
base64 字串值包含有效的base64值
contains 字串值包含子字串值, contains=@
containsany 包含所有,containsany =!@#?
containsrune 字串值包含提供的符號 containsrune = @
excludes 字串值不包含子字串值,excludes = @
excludeall 排除所有
excluderune 字串值不包含提供的符號,excluderune = @
isbn 國際標準書號,驗證字串值包含有效的isbn10或isbn13值
isbn10 國際標準書號10, 驗證字串值包含有效的isbn10值
isbn13 國際標準書號13, 字串值包含有效的isbn13值
uuid 字串值包含有效的UUID
uuid3 字串值包含有效的版本3 UUID
uuid4 字串值包含有效的版本5 UUID
uuid5 字串值包含有效的版本5 UUID
ascii 字串值僅包含ASCII字元. 注意:如果字串為空, 則驗證為true
asciiprint 字串值僅包含可列印的ASCII字元. 注意: 如果字串為空,則驗證為true
multibyte 字串值包含一個或多個多位元組字元。注意:如果字串為空,則驗證為true
datauri 字串值包含有效的DataURI。注意:這還將驗證資料部分是有效的base64
latitude 緯度,字串值包含有效的緯度
longitude 經度,字串值包含有效的經度
ssn 字串值包含有效的美國社會安全號碼
ip 字串值包含有效的IP地址
ipv4 字串值包含有效的v4 IP地址
ipv6 字串值包含有效的v6 IP地址
cidr 字串值包含有效的CIDR地址
cidrv4 字串值包含有效的CIDR地址
cidrv6 字串值包含有效的v6 CIDR地址
tcp_addr 字串值包含有效的可解析TCP地址
dive 巢狀驗證