上文《Go语言MVC模式Web开发实战(十一)自定义请求参数字段验证器》我们介绍了自己来自定义实现字段验证器,并且我们也介绍了使用的是:https://github.com/go-playground/validator/v10 框架。本文我们就来着重介绍下这个框架自带的验证函数。大家可以直接在git上查看。
字段类
Tag | 描述 | 示例 |
eqcsfield | Field Equals Another Field (relative) |
|
eqfield | Field Equals Another Field | Password string `json:"password" binding:"required"` RePassword string `json:"re_password" binding:"required,eqfield=Password"` |
fieldcontains | Check the indicated characters are present in the Field |
|
fieldexcludes | Check the indicated characters are not present in the field |
|
gtcsfield | Field Greater Than Another Relative Field |
|
gtecsfield | Field Greater Than or Equal To Another Relative Field |
|
gtefield | Field Greater Than or Equal To Another Field |
|
gtfield | Field Greater Than Another Field |
|
ltcsfield | Less Than Another Relative Field |
|
ltecsfield | Less Than or Equal To Another Relative Field |
|
ltefield | Less Than or Equal To Another Field |
|
ltfield | Less Than Another Field |
|
necsfield | Field Does Not Equal Another Field (relative) |
|
nefield | Field Does Not Equal Another Field |
|
网络类
Tag | 描述 | 示例 |
cidr | Classless Inter-Domain Routing CIDR |
|
cidrv4 | Classless Inter-Domain Routing CIDRv4 |
|
cidrv6 | Classless Inter-Domain Routing CIDRv6 |
|
datauri | Data URL |
|
fqdn | Full Qualified Domain Name (FQDN) |
|
hostname | Hostname RFC 952 |
|
hostname_port | HostPort |
|
hostname_rfc1123 | Hostname RFC 1123 |
|
ip | Internet Protocol Address IP |
|
ip4_addr | Internet Protocol Address IPv4 |
|
ip6_addr | Internet Protocol Address IPv6 |
|
ip_addr | Internet Protocol Address IP |
|
ipv4 | Internet Protocol Address IPv4 |
|
ipv6 | Internet Protocol Address IPv6 |
|
mac | Media Access Control Address MAC |
|
tcp4_addr | Transmission Control Protocol Address TCPv4 |
|
tcp6_addr | Transmission Control Protocol Address TCPv6 |
|
tcp_addr | Transmission Control Protocol Address TCP |
|
udp4_addr | User Datagram Protocol Address UDPv4 |
|
udp6_addr | User Datagram Protocol Address UDPv6 |
|
udp_addr | User Datagram Protocol Address UDP |
|
unix_addr | Unix domain socket end point Address |
|
uri | URI String |
|
url | URL String |
|
http_url | HTTP URL String |
|
url_encoded | URL Encoded |
|
urn_rfc2141 | Urn RFC 2141 String |
|
字符串类
Tag | 描述 | 示例 |
alpha | Alpha Only |
|
alphanum | Alphanumeric |
|
alphanumunicode | Alphanumeric Unicode |
|
alphaunicode | Alpha Unicode |
|
ascii | ASCII |
|
boolean | Boolean |
|
contains | Contains |
|
containsany | Contains Any |
|
containsrune | Contains Rune |
|
endsnotwith | Ends Not With |
|
endswith | Ends With |
|
excludes | Excludes |
|
excludesall | Excludes All |
|
excludesrune | Excludes Rune |
|
lowercase | Lowercase |
|
multibyte | Multi-Byte Characters |
|
number | Number |
|
numeric | Numeric |
|
printascii | Printable ASCII |
|
startsnotwith | Starts Not With |
|
startswith | Starts With |
|
uppercase | Uppercase |
|
格式化类
Tag | 描述 | 示例 |
base64 | Base64 String |
|
base64url | Base64URL String |
|
base64rawurl | Base64RawURL String |
|
bic | Business Identifier Code (ISO 9362) |
|
bcp47_language_tag | Language tag (BCP 47) |
|
btc_addr | Bitcoin Address |
|
btc_addr_bech32 | Bitcoin Bech32 Address (segwit) |
|
credit_card | Credit Card Number |
|
mongodb | MongoDB ObjectID |
|
mongodb_connection_string | MongoDB Connection String |
|
cron | Cron |
|
spicedb | SpiceDb ObjectID/Permission/Type |
|
datetime | Datetime |
|
e164 | e164 formatted phone number |
|
email | E-mail String | Email string `validate:"required,email"` |
eth_addr | Ethereum Address |
|
hexadecimal | Hexadecimal String |
|
hexcolor | Hexcolor String |
|
hsl | HSL String |
|
hsla | HSLA String |
|
html | HTML Tags |
|
html_encoded | HTML Encoded |
|
isbn | International Standard Book Number |
|
isbn10 | International Standard Book Number 10 |
|
isbn13 | International Standard Book Number 13 |
|
issn | International Standard Serial Number |
|
iso3166_1_alpha2 | Two-letter country code (ISO 3166-1 alpha-2) |
|
iso3166_1_alpha3 | Three-letter country code (ISO 3166-1 alpha-3) |
|
iso3166_1_alpha_numeric | Numeric country code (ISO 3166-1 numeric) |
|
iso3166_2 | Country subdivision code (ISO 3166-2) |
|
iso4217 | Currency code (ISO 4217) |
|
json | JSON |
|
jwt | JSON Web Token (JWT) |
|
latitude | Latitude |
|
longitude | Longitude |
|
luhn_checksum | Luhn Algorithm Checksum (for strings and (u)int) |
|
postcode_iso3166_alpha2 | Postcode |
|
postcode_iso3166_alpha2_field | Postcode |
|
rgb | RGB String |
|
rgba | RGBA String |
|
ssn | Social Security Number SSN |
|
timezone | Timezone |
|
uuid | Universally Unique Identifier UUID |
|
uuid3 | Universally Unique Identifier UUID v3 |
|
uuid3_rfc4122 | Universally Unique Identifier UUID v3 RFC4122 |
|
uuid4 | Universally Unique Identifier UUID v4 |
|
uuid4_rfc4122 | Universally Unique Identifier UUID v4 RFC4122 |
|
uuid5 | Universally Unique Identifier UUID v5 |
|
uuid5_rfc4122 | Universally Unique Identifier UUID v5 RFC4122 |
|
uuid_rfc4122 | Universally Unique Identifier UUID RFC4122 |
|
md4 | MD4 hash |
|
md5 | MD5 hash |
|
sha256 | SHA256 hash |
|
sha384 | SHA384 hash |
|
sha512 | SHA512 hash |
|
ripemd128 | RIPEMD-128 hash |
|
ripemd128 | RIPEMD-160 hash |
|
tiger128 | TIGER128 hash |
|
tiger160 | TIGER160 hash |
|
tiger192 | TIGER192 hash |
|
semver | Semantic Versioning 2.0.0 |
|
ulid | Universally Unique Lexicographically Sortable Identifier ULID |
|
cve | Common Vulnerabilities and Exposures Identifier (CVE id) |
|
比较类
Tag | 描述 | 示例 |
eq | Equals |
|
eq_ignore_case | Equals ignoring case |
|
gt | Greater than |
|
gte | Greater than or equal | Age uint8 `validate:"gte=0"` |
lt | Less Than |
|
lte | Less Than or Equal | Age uint8 `validate:"gte=130"` |
ne | Not Equal |
|
ne_ignore_case | Not Equal ignoring case |
|
其他类
Tag | 描述 | 示例 |
dir | Existing Directory |
|
dirpath | Directory Path |
|
file | Existing File |
|
filepath | File Path |
|
image | Image |
|
isdefault | Is Default |
|
len | Length |
|
max | Maximum |
|
min | Minimum |
|
oneof | One Of | Gender string `validate:"oneof=male female prefer_not_to"` |
required | Required |
|
required_if | Required If |
|
required_unless | Required Unless |
|
required_with | Required With |
|
required_with_all | Required With All |
|
required_without | Required Without |
|
required_without_all | Required Without All |
|
excluded_if | Excluded If |
|
excluded_unless | Excluded Unless |
|
excluded_with | Excluded With |
|
excluded_with_all | Excluded With All |
|
excluded_without | Excluded Without |
|
excluded_without_all | Excluded Without All |
|
unique | Unique |
|
以上就是官方列举的一些常用的验证器函数。
职场就是一场游戏,但游戏不是人生的全部。别太纠结眼前的得失,也别总被焦虑绑住。努力让自己积累更多底气吧,未来的你一定会感谢现在的自己。因为那个时候,你会发现,人生的主动权,终于掌握在自己手里了。
-- 展开阅读全文 --
还没有评论,来说两句吧...