govalidator

package
v0.0.0-...-9e9b692 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 28, 2022 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TagFloatEq    = "float.eq"
	TagFloatNe    = "float.ne"
	TagFloatGt    = "float.gt"
	TagFloatLt    = "float.lt"
	TagFloatGte   = "float.gte"
	TagFloatLte   = "float.lte"
	TagFloatIn    = "float.in"
	TagFloatNotIn = "float.not_in"
)

tag const for float.

View Source
const (
	TagIntEq    = "int.eq"
	TagIntNe    = "int.ne"
	TagIntGt    = "int.gt"
	TagIntLt    = "int.lt"
	TagIntGte   = "int.gte"
	TagIntLte   = "int.lte"
	TagIntIn    = "int.in"
	TagIntNotIn = "int.not_in"
)

tag const for int.

View Source
const (
	TagUintEq    = "uint.eq"
	TagUintNe    = "uint.ne"
	TagUintGt    = "uint.gt"
	TagUintLt    = "uint.lt"
	TagUintGte   = "uint.gte"
	TagUintLte   = "uint.lte"
	TagUintIn    = "uint.in"
	TagUintNotIn = "uint.not_in"
)

tag const for uint.

View Source
const (
	TagStringEq    = "string.eq"
	TagStringNe    = "string.ne"
	TagStringGt    = "string.gt"
	TagStringLt    = "string.lt"
	TagStringGte   = "string.gte"
	TagStringLte   = "string.lte"
	TagStringIn    = "string.in"
	TagStringNotIn = "string.not_in"

	TagStringCharLenEq  = "string.char_len_eq"
	TagStringCharLenNe  = "string.char_len_ne"
	TagStringCharLenGt  = "string.char_len_gt"
	TagStringCharLenLt  = "string.char_len_lt"
	TagStringCharLenGte = "string.char_len_gte"
	TagStringCharLenLte = "string.char_len_lte"

	TagStringByteLenEq  = "string.byte_len_eq"
	TagStringByteLenNe  = "string.byte_len_ne"
	TagStringByteLenGt  = "string.byte_len_gt"
	TagStringByteLenLt  = "string.byte_len_lt"
	TagStringByteLenGte = "string.byte_len_gte"
	TagStringByteLenLte = "string.byte_len_lte"

	TagStringRegex = "string.regex"

	TagStringPrefix         = "string.prefix"
	TagStringNoPrefix       = "string.no_prefix"
	TagStringSuffix         = "string.suffix"
	TagStringNoSuffix       = "string.no_suffix"
	TagStringContains       = "string.contains"
	TagStringNotContains    = "string.not_contains"
	TagStringContainsAny    = "string.contains_any"
	TagStringNotContainsAny = "string.not_contains_any"

	TagStringUTF8 = "string.utf8"

	TagStringAscii       = "string.ascii"
	TagStringPrintAscii  = "string.print_ascii"
	TagStringBoolean     = "string.boolean"
	TagStringLowercase   = "string.lowercase"
	TagStringUppercase   = "string.uppercase"
	TagStringAlpha       = "string.alpha"
	TagStringNumber      = "string.number"
	TagStringAlphaNumber = "string.alpha_number"

	TagStringIp              = "string.ip"
	TagStringIpv4            = "string.ipv4"
	TagStringIpv6            = "string.ipv6"
	TagStringIpAddr          = "string.ip_addr"
	TagStringIp4Addr         = "string.ip4_addr"
	TagStringIp6Addr         = "string.ip6_addr"
	TagStringCidr            = "string.cidr"
	TagStringCidrv4          = "string.cidrv4"
	TagStringCidrv6          = "string.cidrv6"
	TagStringMac             = "string.mac"
	TagStringTcpAddr         = "string.tcp_addr"
	TagStringTcp4Addr        = "string.tcp4_addr"
	TagStringTcp6Addr        = "string.tcp6_addr"
	TagStringUdpAddr         = "string.udp_addr"
	TagStringUdp4Addr        = "string.udp4_addr"
	TagStringUdp6Addr        = "string.udp6_addr"
	TagStringUnixAddr        = "string.unix_addr"
	TagStringHostname        = "string.hostname"
	TagStringHostnameRfc1123 = "string.hostname_rfc1123"
	TagStringHostnamePort    = "string.hostname_port"
	TagStringDataURI         = "string.data_uri"
	TagStringFQDN            = "string.fqdn"
	TagStringURI             = "string.uri"
	TagStringURL             = "string.url"
	TagStringURLEncoded      = "string.url_encoded"

	TagStringUnixCron    = "string.unix_cron"
	TagStringEmail       = "string.email"
	TagStringJSON        = "string.json"
	TagStringJWT         = "string.jwt"
	TagStringHTML        = "string.html"
	TagStringHTMLEncoded = "string.html_encoded"
	TagStringBase64      = "string.base64"
	TagStringBase64URL   = "string.base64_url"
	TagStringHexadecimal = "string.hexadecimal"
	TagStringDatetime    = "string.datetime"
	TagStringTimezone    = "string.timezone"
	TagStringUUID        = "string.uuid"
	TagStringUUID1       = "string.uuid1"
	TagStringUUID3       = "string.uuid3"
	TagStringUUID4       = "string.uuid4"
	TagStringUUID5       = "string.uuid5"
)

tag const for string.

View Source
const (
	TagBytesLenEq  = "bytes.len_eq"
	TagBytesLenNe  = "bytes.len_ne"
	TagBytesLenGt  = "bytes.len_gt"
	TagBytesLenLt  = "bytes.len_lt"
	TagBytesLenGte = "bytes.len_gte"
	TagBytesLenLte = "bytes.len_lte"
)

tag const for bytes.

View Source
const (
	TagEnumEq      = "enum.eq"
	TagEnumNe      = "enum.ne"
	TagEnumGt      = "enum.gt"
	TagEnumLt      = "enum.lt"
	TagEnumGte     = "enum.gte"
	TagEnumLte     = "enum.lte"
	TagEnumIn      = "enum.in"
	TagEnumNotIn   = "enum.not_in"
	TagEnumInEnums = "enum.in_enums"
)

tag const for enum.

View Source
const (
	TagMessageNotNull = "message.not_null"
	TagMessageSkip    = "message.skip"
)

tag const for message.

View Source
const (
	TagRepeatedNotNull = "repeated.not_null"
	TagRepeatedLenEq   = "repeated.len_eq"
	TagRepeatedLenNe   = "repeated.len_ne"
	TagRepeatedLenGt   = "repeated.len_gt"
	TagRepeatedLenLt   = "repeated.len_lt"
	TagRepeatedLenGte  = "repeated.len_gte"
	TagRepeatedLenLte  = "repeated.len_lte"
	TagRepeatedUnique  = "repeated.unique"
	TagRepeatedItem    = "repeated.item"
)

tag const for repeated.

View Source
const (
	TagMapNotNull = "map.not_null"
	TagMapLenEq   = "map.len_eq"
	TagMapLenNe   = "map.len_ne"
	TagMapLenGt   = "map.len_gt"
	TagMapLenLt   = "map.len_lt"
	TagMapLenGte  = "map.len_gte"
	TagMapLenLte  = "map.len_lte"
	TagMapKey     = "map.key"
	TagMapValue   = "map.value"
)

tag const for map.

View Source
const (
	TagBoolEq = "bool.eq"
)

tag const for bool.

View Source
const (
	TagOneOfNotNull = "oneof.not_null"
)

tag const for oneof

Variables

This section is empty.

Functions

func BuildErrorReason

func BuildErrorReason(tagInfo *TagInfo, fieldDesc string) string

func New

func New() generator.Plugin

Types

type CheckIfInfo

type CheckIfInfo struct {
	Field *FieldInfo
}

type FieldInfo

type FieldInfo struct {
	CheckIf    *CheckIfInfo
	Name       string
	Field      *protogen.Field
	IsOneOf    bool
	InOneOf    bool
	TagOptions *validatorpb.TagOptions
	IsCheckIf  bool
	Parent     *FieldInfo
	IsListItem bool
	IsMapKey   bool
	IsMapValue bool
}

type TagInfo

type TagInfo struct {
	Cond       string      // The if condition.
	Tag        string      // The tag name.
	Value      interface{} // The tag value that user expected.
	FieldValue string      // The variable name of field value.
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL