建议收藏:验证插件标签列表

举报
码乐 发表于 2024/11/24 11:15:09 2024/11/24
【摘要】 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。