建议收藏:验证插件标签列表
【摘要】 1 简介输入验证对于任何软件应用程序中的数据完整性和安全性都至关重要。Go 是一种功能强大且流行的编程语言,以其简单性和性能而闻名,它提供“validator”包 (v10) 以实现高效验证。合理使用验证器可以增强应用程序健壮性。 2 工具和库ValidatorValidator.v10这可以帮助更简便快捷地实现参数校验和安全传递变量。框架gin内置了 github.com/go-play...
1 简介
Validator V10 提供的内置验证标签外,您还可以灵活地创建针对您的特定应用程序要求定制的自定义验证器。
自定义验证器允许您对数据执行特定于域的规则,从而确保更精确的输入验证。这里备注和列举完整的支持列表以供有需要的人查询。
2 完整的验证标签支持列表
-
Field
Tag Description eqcsfield Field Equals Another Field (relative) eqfield Field Equals Another Field 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
-
Network:
Tag Description 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
-
Strings:
Tag Description 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
Format:
Tag Description
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
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)
Comparisons:
Tag Description
eq Equals
eq_ignore_case Equals ignoring case
gt Greater than
gte Greater than or equal
lt Less Than
lte Less Than or Equal
ne Not Equal
ne_ignore_case Not Equal ignoring case
Other:
其他标记
Tag Description
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
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
Aliases:
Tag Description
iscolor hexcolor|rgb|rgba|hsl|hsla
country_code iso3166_1_alpha2|iso3166_1_alpha3|iso3166_1_alpha_numeric
2 小结
使用校验插件可以轻松地在 Go 应用程序中实现输入参数验证。验证输入参数有助于防止潜在的安全漏洞,并确保我们的应用程序使用的数据准确且一致。该库丰富的验证规则集使其成为使用 Go 的开发人员的强大工具。
请始终验证应用程序中的输入数据,以保证其可靠性和安全性.尽管输入验证很有用,但它不是一种最安全的措施,必要时使用安全插件仍然很重要。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)