@@ -67,125 +67,125 @@ var (
6767 // you can add, remove or even replace items to suite your needs,
6868 // or even disregard and use your own map if so desired.
6969 bakedInValidators = map [string ]Func {
70- "required" : hasValue ,
71- "required_if" : requiredIf ,
72- "required_unless" : requiredUnless ,
73- "required_with" : requiredWith ,
74- "required_with_all" : requiredWithAll ,
75- "required_without" : requiredWithout ,
76- "required_without_all" : requiredWithoutAll ,
77- "excluded_with" : excludedWith ,
78- "excluded_with_all" : excludedWithAll ,
79- "excluded_without" : excludedWithout ,
80- "excluded_without_all" : excludedWithoutAll ,
81- "isdefault" : isDefault ,
82- "len" : hasLengthOf ,
83- "min" : hasMinOf ,
84- "max" : hasMaxOf ,
85- "eq" : isEq ,
86- "ne" : isNe ,
87- "lt" : isLt ,
88- "lte" : isLte ,
89- "gt" : isGt ,
90- "gte" : isGte ,
91- "eqfield" : isEqField ,
92- "eqcsfield" : isEqCrossStructField ,
93- "necsfield" : isNeCrossStructField ,
94- "gtcsfield" : isGtCrossStructField ,
95- "gtecsfield" : isGteCrossStructField ,
96- "ltcsfield" : isLtCrossStructField ,
97- "ltecsfield" : isLteCrossStructField ,
98- "nefield" : isNeField ,
99- "gtefield" : isGteField ,
100- "gtfield" : isGtField ,
101- "ltefield" : isLteField ,
102- "ltfield" : isLtField ,
103- "fieldcontains" : fieldContains ,
104- "fieldexcludes" : fieldExcludes ,
105- "alpha" : isAlpha ,
106- "alphanum" : isAlphanum ,
107- "alphaunicode" : isAlphaUnicode ,
108- "alphanumunicode" : isAlphanumUnicode ,
109- "numeric" : isNumeric ,
110- "number" : isNumber ,
111- "hexadecimal" : isHexadecimal ,
112- "hexcolor" : isHEXColor ,
113- "rgb" : isRGB ,
114- "rgba" : isRGBA ,
115- "hsl" : isHSL ,
116- "hsla" : isHSLA ,
117- "e164" : isE164 ,
118- "email" : isEmail ,
119- "url" : isURL ,
120- "uri" : isURI ,
121- "urn_rfc2141" : isUrnRFC2141 , // RFC 2141
122- "file" : isFile ,
123- "base64" : isBase64 ,
124- "base64url" : isBase64URL ,
125- "contains" : contains ,
126- "containsany" : containsAny ,
127- "containsrune" : containsRune ,
128- "excludes" : excludes ,
129- "excludesall" : excludesAll ,
130- "excludesrune" : excludesRune ,
131- "startswith" : startsWith ,
132- "endswith" : endsWith ,
133- "startsnotwith" : startsNotWith ,
134- "endsnotwith" : endsNotWith ,
135- "isbn" : isISBN ,
136- "isbn10" : isISBN10 ,
137- "isbn13" : isISBN13 ,
138- "eth_addr" : isEthereumAddress ,
139- "btc_addr" : isBitcoinAddress ,
140- "btc_addr_bech32" : isBitcoinBech32Address ,
141- "uuid" : isUUID ,
142- "uuid3" : isUUID3 ,
143- "uuid4" : isUUID4 ,
144- "uuid5" : isUUID5 ,
145- "uuid_rfc4122" : isUUIDRFC4122 ,
146- "uuid3_rfc4122" : isUUID3RFC4122 ,
147- "uuid4_rfc4122" : isUUID4RFC4122 ,
148- "uuid5_rfc4122" : isUUID5RFC4122 ,
149- "ascii" : isASCII ,
150- "printascii" : isPrintableASCII ,
151- "multibyte" : hasMultiByteCharacter ,
152- "datauri" : isDataURI ,
153- "latitude" : isLatitude ,
154- "longitude" : isLongitude ,
155- "ssn" : isSSN ,
156- "ipv4" : isIPv4 ,
157- "ipv6" : isIPv6 ,
158- "ip" : isIP ,
159- "cidrv4" : isCIDRv4 ,
160- "cidrv6" : isCIDRv6 ,
161- "cidr" : isCIDR ,
162- "tcp4_addr" : isTCP4AddrResolvable ,
163- "tcp6_addr" : isTCP6AddrResolvable ,
164- "tcp_addr" : isTCPAddrResolvable ,
165- "udp4_addr" : isUDP4AddrResolvable ,
166- "udp6_addr" : isUDP6AddrResolvable ,
167- "udp_addr" : isUDPAddrResolvable ,
168- "ip4_addr" : isIP4AddrResolvable ,
169- "ip6_addr" : isIP6AddrResolvable ,
170- "ip_addr" : isIPAddrResolvable ,
171- "unix_addr" : isUnixAddrResolvable ,
172- "mac" : isMAC ,
173- "hostname" : isHostnameRFC952 , // RFC 952
174- "hostname_rfc1123" : isHostnameRFC1123 , // RFC 1123
175- "fqdn" : isFQDN ,
176- "unique" : isUnique ,
177- "oneof" : isOneOf ,
178- "html" : isHTML ,
179- "html_encoded" : isHTMLEncoded ,
180- "url_encoded" : isURLEncoded ,
181- "dir" : isDir ,
182- "json" : isJSON ,
183- "hostname_port" : isHostnamePort ,
184- "lowercase" : isLowercase ,
185- "uppercase" : isUppercase ,
186- "datetime" : isDatetime ,
187- "timezone" : isTimeZone ,
188- "iso3166_1_alpha2" : isIso3166Alpha2 ,
70+ "required" : hasValue ,
71+ "required_if" : requiredIf ,
72+ "required_unless" : requiredUnless ,
73+ "required_with" : requiredWith ,
74+ "required_with_all" : requiredWithAll ,
75+ "required_without" : requiredWithout ,
76+ "required_without_all" : requiredWithoutAll ,
77+ "excluded_with" : excludedWith ,
78+ "excluded_with_all" : excludedWithAll ,
79+ "excluded_without" : excludedWithout ,
80+ "excluded_without_all" : excludedWithoutAll ,
81+ "isdefault" : isDefault ,
82+ "len" : hasLengthOf ,
83+ "min" : hasMinOf ,
84+ "max" : hasMaxOf ,
85+ "eq" : isEq ,
86+ "ne" : isNe ,
87+ "lt" : isLt ,
88+ "lte" : isLte ,
89+ "gt" : isGt ,
90+ "gte" : isGte ,
91+ "eqfield" : isEqField ,
92+ "eqcsfield" : isEqCrossStructField ,
93+ "necsfield" : isNeCrossStructField ,
94+ "gtcsfield" : isGtCrossStructField ,
95+ "gtecsfield" : isGteCrossStructField ,
96+ "ltcsfield" : isLtCrossStructField ,
97+ "ltecsfield" : isLteCrossStructField ,
98+ "nefield" : isNeField ,
99+ "gtefield" : isGteField ,
100+ "gtfield" : isGtField ,
101+ "ltefield" : isLteField ,
102+ "ltfield" : isLtField ,
103+ "fieldcontains" : fieldContains ,
104+ "fieldexcludes" : fieldExcludes ,
105+ "alpha" : isAlpha ,
106+ "alphanum" : isAlphanum ,
107+ "alphaunicode" : isAlphaUnicode ,
108+ "alphanumunicode" : isAlphanumUnicode ,
109+ "numeric" : isNumeric ,
110+ "number" : isNumber ,
111+ "hexadecimal" : isHexadecimal ,
112+ "hexcolor" : isHEXColor ,
113+ "rgb" : isRGB ,
114+ "rgba" : isRGBA ,
115+ "hsl" : isHSL ,
116+ "hsla" : isHSLA ,
117+ "e164" : isE164 ,
118+ "email" : isEmail ,
119+ "url" : isURL ,
120+ "uri" : isURI ,
121+ "urn_rfc2141" : isUrnRFC2141 , // RFC 2141
122+ "file" : isFile ,
123+ "base64" : isBase64 ,
124+ "base64url" : isBase64URL ,
125+ "contains" : contains ,
126+ "containsany" : containsAny ,
127+ "containsrune" : containsRune ,
128+ "excludes" : excludes ,
129+ "excludesall" : excludesAll ,
130+ "excludesrune" : excludesRune ,
131+ "startswith" : startsWith ,
132+ "endswith" : endsWith ,
133+ "startsnotwith" : startsNotWith ,
134+ "endsnotwith" : endsNotWith ,
135+ "isbn" : isISBN ,
136+ "isbn10" : isISBN10 ,
137+ "isbn13" : isISBN13 ,
138+ "eth_addr" : isEthereumAddress ,
139+ "btc_addr" : isBitcoinAddress ,
140+ "btc_addr_bech32" : isBitcoinBech32Address ,
141+ "uuid" : isUUID ,
142+ "uuid3" : isUUID3 ,
143+ "uuid4" : isUUID4 ,
144+ "uuid5" : isUUID5 ,
145+ "uuid_rfc4122" : isUUIDRFC4122 ,
146+ "uuid3_rfc4122" : isUUID3RFC4122 ,
147+ "uuid4_rfc4122" : isUUID4RFC4122 ,
148+ "uuid5_rfc4122" : isUUID5RFC4122 ,
149+ "ascii" : isASCII ,
150+ "printascii" : isPrintableASCII ,
151+ "multibyte" : hasMultiByteCharacter ,
152+ "datauri" : isDataURI ,
153+ "latitude" : isLatitude ,
154+ "longitude" : isLongitude ,
155+ "ssn" : isSSN ,
156+ "ipv4" : isIPv4 ,
157+ "ipv6" : isIPv6 ,
158+ "ip" : isIP ,
159+ "cidrv4" : isCIDRv4 ,
160+ "cidrv6" : isCIDRv6 ,
161+ "cidr" : isCIDR ,
162+ "tcp4_addr" : isTCP4AddrResolvable ,
163+ "tcp6_addr" : isTCP6AddrResolvable ,
164+ "tcp_addr" : isTCPAddrResolvable ,
165+ "udp4_addr" : isUDP4AddrResolvable ,
166+ "udp6_addr" : isUDP6AddrResolvable ,
167+ "udp_addr" : isUDPAddrResolvable ,
168+ "ip4_addr" : isIP4AddrResolvable ,
169+ "ip6_addr" : isIP6AddrResolvable ,
170+ "ip_addr" : isIPAddrResolvable ,
171+ "unix_addr" : isUnixAddrResolvable ,
172+ "mac" : isMAC ,
173+ "hostname" : isHostnameRFC952 , // RFC 952
174+ "hostname_rfc1123" : isHostnameRFC1123 , // RFC 1123
175+ "fqdn" : isFQDN ,
176+ "unique" : isUnique ,
177+ "oneof" : isOneOf ,
178+ "html" : isHTML ,
179+ "html_encoded" : isHTMLEncoded ,
180+ "url_encoded" : isURLEncoded ,
181+ "dir" : isDir ,
182+ "json" : isJSON ,
183+ "hostname_port" : isHostnamePort ,
184+ "lowercase" : isLowercase ,
185+ "uppercase" : isUppercase ,
186+ "datetime" : isDatetime ,
187+ "timezone" : isTimeZone ,
188+ "iso3166_1_alpha2" : isIso3166Alpha2 ,
189189 "iso3166_1_alpha3" : isIso3166Alpha3 ,
190190 "iso3166_1_alpha_numeric" : isIso3166AlphaNumeric ,
191191 }
@@ -2250,11 +2250,7 @@ func isTimeZone(fl FieldLevel) bool {
22502250 }
22512251
22522252 _ , err := time .LoadLocation (field .String ())
2253- if err != nil {
2254- return false
2255- }
2256-
2257- return true
2253+ return err == nil
22582254 }
22592255
22602256 panic (fmt .Sprintf ("Bad field type %T" , field .Interface ()))
0 commit comments