This table features all available validators.
| Name | Description |
|---|---|
Any[T] |
Any accepts any value of T. |
Zero[T] |
Zero accepts all zero values. The zero value is: - 0 for numeric types, - false for the boolean type, and - "" (the empty string) for strings. See [NonZero]. |
NonZero[T] |
NonZero accepts all non-zero values. The zero value is: - 0 for numeric types, - false for the boolean type, and - "" (the empty string) for strings. See [Zero]. |
Positive[T] |
Positive accepts all positive real numbers excluding zero. See [Positive0] for zero including variant. |
Negative[T] |
Negative accepts all negative real numbers excluding zero. See [Negative0] for zero including variant. |
Positive0[T] |
Positive0 accepts all positive real numbers including zero. See [Positive] for zero excluding variant. |
Negative0[T] |
Negative0 accepts all negative real numbers including zero. See [Negative] for zero excluding variant. |
Even[T] |
Even accepts integers divisible by two. |
Odd[T] |
Odd accepts integers not divisible by two. |
Email[T] |
Email accepts a single RFC 5322 address, e.g. "Barry Gibbs bg@example.com". |
URL[T] |
URL accepts a single url. The url may be relative (a path, without a host) or absolute (starting with a scheme). See also [HTTPURL]. |
HTTPURL[T] |
HTTPURL accepts a single http(s) url. See also [URL]. |
IP[T] |
IP accepts an IP address. The address can be in dotted decimal ("192.0.2.1"), IPv6 ("2001:db8::68"), or IPv6 with a scoped addressing zone ("fe80::1cc0:3e8c:119f:c2e1%ens18"). |
IPV4[T] |
IPV4 accepts an IP V4 address (e.g. "192.0.2.1"). |
IPV6[T] |
IPV6 accepts an IP V6 address, including IPv4-mapped IPv6 addresses. The address can be regular IPv6 ("2001:db8::68"), or IPv6 with a scoped addressing zone ("fe80::1cc0:3e8c:119f:c2e1%ens18"). |
MAC[T] |
MAC accepts an IEEE 802 MAC-48, EUI-48, EUI-64, or a 20-octet IP over InfiniBand link-layer address. |
CIDR[T] |
CIDR accepts CIDR notation IP address and prefix length, like "192.0.2.0/24" or "2001:db8::/32", as defined in RFC 4632 and RFC 4291. |
Base64[T] |
Base64 accepts valid base64 encoded strings. |
Charset0[T, F] |
Charset0 accepts (possibly empty) text which contains only runes acceptable by filter. See [Charset] for a non-empty variant. |
Charset[T, F] |
Charset accepts non-empty text which contains only runes acceptable by filter. See also [Charset0]. |
Latitude[T] |
Latitude accepts any number in the range [-90; 90]. See also [Longitude]. |
Longitude[T] |
Longitude accepts any number in the range [-180; 180]. See also [Latitude]. |
InPast[T] |
InFuture accepts any time after current timestamp. See also [InPast]. |
InFuture[T] |
InFuture accepts any time after current timestamp. See also [InPast]. |
Unique[S, T] |
Unique accepts a slice-like of unique values. See [UniqueSlice] for a slice shortcut. |
UniqueSlice[T] |
Unique accepts a slice of unique values. See [Unique] for a more generic version. |
NonEmpty[S, T] |
NonEmpty accepts a non-empty slice-like (len > 0). See [NonEmptySlice] for a slice shortcut. |
NonEmptySlice[T] |
NonEmptySlice accepts a non-empty slice (len > 0). See [NonEmpty] for a more generic version. |
MIME[T] |
MIME accepts RFC 1521 mime type string. |
UUID[T] |
UUID accepts a properly formatted UUID in one of the following formats: - xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} |
JSON[T] |
JSON accepts valid json encoded text. |
CountryAlpha2[T] |
CountryAlpha2 accepts case-insensitive ISO 3166 2-letter country code. |
CountryAlpha3[T] |
CountryAlpha3 accepts case-insensitive ISO 3166 3-letter country code. |
CountryAlpha[T] |
CountryAlpha accepts either [CountryAlpha2] or [CountryAlpha3]. |
CurrencyAlpha[T] |
CurrencyAlpha accepts case-insensitive ISO 4217 alphabetic currency code. |
LangAlpha2[T] |
LangAlpha2 accepts case-insensitive ISO 639 2-letter language code. |
LangAlpha3[T] |
LangAlpha3 accepts case-insensitive ISO 639 3-letter language code. |
LangAlpha[T] |
LangAlpha accepts either [LangAlpha2] or [LangAlpha3]. |
And[T, A, B] |
And is a meta validator that combines other validators with AND operator. Validators are called in the same order as specified by type parameters. See also [Or], [Not]. |
Or[T, A, B] |
Or is a meta validator that combines other validators with OR operator. Validators are called in the same order as type parameters. See also [And], [Not]. |
Not[T, V] |
Not is a meta validator that inverts given validator. See also [And], [Or]. |