上文《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 |
|
以上就是官方列举的一些常用的验证器函数。
真正的成长, 源于内心的觉醒和不懈的努力, 你的信念和行动, 将铺就通往更好的自己的道路
-- 展开阅读全文 --
还没有评论,来说两句吧...