validator參數校驗
validator參數校驗
type Req struct {
Sn string `json:"sn" binding:"required"`
}
email:郵箱驗證 // 這將驗證字符串值是否包含有效的電子郵件。
eg:binding:"email"
required:必填 // 對於數字,確保值不為零。對於字符串,確保值不是「」。對於切片、映射、指針、接口、通道和函數,確保值不為零。
eg:binding:"required"
required_with:必填 // 對於數字,不為空就行。對於字符串,確保值不是「」,對於切片、映射、指針、接口、通道和函數,確保值不為零。
eg:binding:"required_with"
len:長度 //對於字符串,它會檢查字符串長度是否恰好是該字符數。對於切片、數組和映射,驗證項目數。
eg:binding:"len=10"
max:最大值 // 確保該值小於或等於給定的參數。對於字符串,它會檢查字符串長度是否最多為該字符數。對於切片、數組和映射,驗證項目數。
eg:binding:"max=10"
min:最小值 //確保該值大於或等於給定的參數。對於字符串,它會檢查字符串長度是否至少為該字符數。對於切片、數組和映射,驗證項目數。
eg:binding:"min=10"
eq:等於(=) //對於字符串和數字,eq 將確保值等於給定的參數。對於切片、數組和映射,驗證項目數。
gt:大於(>)
lt:小於(<)
gte:大於等於(>=)
lte:小於等於(=<)
ne:不等與(!=)
eg:binding:"eq=10"
eg:binding:"gt=10"
oneof:之一 //對於字符串、整數和 uint,oneof 將確保該值是參數中的值之一。該參數應該是由空格分隔的值列表。值可以是字符串或數字
eg:binding:"oneof=1 3 5 7"
eqfield:等於另一個字段 //通常重複密碼校驗
eg:type user struct {
Password string `json:"password" binding:"required"`
RePassword string `json:"re_password" binding:"required,eqfield=Password"`
}
nefield:不等於另一個字段 //這將根據結構內或傳入的字段中的另一個字段值驗證字段值。
gtfield:大於另一個字段
gtefield:大於等於另一個字段
ltfield:小於另一個字段
ltefield:小於等於另一個字段
unique:唯一 //對於數組和切片,唯一的將確保沒有重複。對於地圖,唯一性將確保沒有重複值。對於結構切片,unique 將確保通過參數指定的結構字段中沒有重複值。
eg:binding:"unique"
alphanum:字母數字 //這驗證字符串值僅包含 ASCII 字母數字字符
eg:binding:"alphanum"
alphaunicode: unicode字母字符//這驗證字符串值僅包含unicode字母字符
eg:binding:"alphaunicode"
alphanumunicode:unicode 字母數字字符 //這驗證字符串值僅包含 unicode 字母數字字符
eg:binding:"alphanumunicode"
numeric:數字 //是否包含基本數值。基本排除指數等...對於整數或浮點它返回真。
hexadecimal:是否包含有效的十六進制
hexcolor:是否包含有效的十六進制顏色,包括標籤 (#)
rgb:這將驗證字符串值是否包含有效的 rgb 顏色
rgba:這將驗證字符串值是否包含有效的 rgba 顏色
hsl:這將驗證字符串值是否包含有效的 hsl 顏色
url: 網址//這驗證了一個字符串值是否包含一個有效的 url 這將接受 golang 請求 uri 接受的任何 url,但必須包含一個模式,例如 // 或 rtmp://
base64:是否包含有效的 base64值
btc_addr:是否包含一個有效的比特幣地址
eth_addr: 是否包含有效的以太坊地址
startswith:是否以什麼開頭的字符串 // 這驗證字符串值是否以提供的字符串值開頭
eg:binding:"startswith=Jeff" // 驗證字符串是否以"Jeff"開頭
endswith:是否以什麼結尾的字符串 // 這驗證字符串值是否以提供的字符串值結尾
eg:binding:"endswith=eileen" // 驗證字符串是否以"eileen"結尾
uuid: 是否包含有效的 UUID // 這將驗證字符串值是否包含有效的 UUID。大寫 UUID 值不會通過 - 請改用 `uuid_rfc4122`
ASCII:這將驗證字符串值僅包含 ASCII 字符
multibyte:是否包含一個或多個多位元組字符
latitude:緯度
longitude:經度
ip:這將驗證字符串值是否包含有效的 IP 地址。
ipv4:這將驗證字符串值是否包含有效的 IPv4 地址。
ipv6:這將驗證字符串值是否包含有效的 IPv6 地址。
tcp_addr: 這將驗證字符串值是否包含有效的可解析 TCP 地址。
tcp4_addr:這將驗證字符串值是否包含有效的可解析 TCPv4 地址。
tcp6_addr:這將驗證字符串值是否包含有效的可解析 TCPv6 地址。
udp_addr: 這將驗證字符串值是否包含有效的可解析 UDP 地址。
udp4_addr: 這將驗證字符串值是否包含有效的可解析 UDPv4 地址。
udp6_addr: 這將驗證字符串值是否包含有效的可解析 UDPv6 地址。
html: 字符串是否為一個 HTML 元素標籤