spvalidator

package module
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: May 12, 2026 License: MIT Imports: 25 Imported by: 0

README

spvalidator

spvalidator is a small validation library for Go with direct function-call validators.

package main

import "github.com/yorukot/spvalidator"

func main() {
	if err := spvalidator.Email("user@example.com"); err != nil {
		panic(err)
	}
}

Validators return nil on success and *spvalidator.ValidationError on failure.

if err := spvalidator.Required(""); spvalidator.IsValidationError(err) {
	// handle validation error
}

String values can also use a fluent validation chain.

value, err := spvalidator.String("  123e4567-e89b-12d3-a456-426614174000  ").
	TrimSpace().
	Required().
	Max(36).
	UUID().
	Value()

Non-string values can use Any.

err := spvalidator.Any(21).
	Required().
	Gte(18).
	Lte(120).
	Err()

Field validators use exported struct field paths.

type Signup struct {
	Password string
	Confirm  string
}

_ = spvalidator.EqField(Signup{"secret", "secret"}, "Password", "Confirm")

The package is independently implemented and aims for practical validation coverage for the supported tags. Very broad standards such as postcode formats, BCP 47, HTML detection, cron syntax, and RFC-perfect URL/domain parsing use documented practical checks rather than exhaustive standard conformance.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ASCII

func ASCII(value string) error

func Alpha

func Alpha(value string) error

func AlphaSpace

func AlphaSpace(value string) error

func AlphaUnicode

func AlphaUnicode(value string) error

func Alphanum

func Alphanum(value string) error

func AlphanumSpace

func AlphanumSpace(value string) error

func AlphanumUnicode

func AlphanumUnicode(value string) error

func BCP47LanguageTag

func BCP47LanguageTag(value string) error

func BCP47StrictLanguageTag

func BCP47StrictLanguageTag(value string) error

func BIC

func BIC(value string) error

func BICISO93622014

func BICISO93622014(value string) error

func BTCAddr

func BTCAddr(value string) error

func BTCAddrBech32

func BTCAddrBech32(value string) error

func Base64

func Base64(value string) error

func Base64RawURL

func Base64RawURL(value string) error

func Base64URL

func Base64URL(value string) error

func Boolean

func Boolean(value string) error

func CIDR

func CIDR(value string) error

func CIDRv4

func CIDRv4(value string) error

func CIDRv6

func CIDRv6(value string) error

func CMYK

func CMYK(value string) error

func CVE

func CVE(value string) error

func Contains

func Contains(value string, substr string) error

func ContainsAny

func ContainsAny(value string, chars string) error

func ContainsRune

func ContainsRune(value string, r rune) error

func CountryCode

func CountryCode(value string) error

func CreditCard

func CreditCard(value string) error

func Cron

func Cron(value string) error

func DataURI

func DataURI(value string) error

func DateTime

func DateTime(value string, layouts ...string) error

func Dir

func Dir(path string) error

func DirPath

func DirPath(path string) error

func Domain added in v0.1.2

func Domain(value string) error

func E164

func E164(value string) error

func EIN

func EIN(value string) error

func ETHAddr

func ETHAddr(value string) error

func Email

func Email(value string) error

func EndsNotWith

func EndsNotWith(value string, suffix string) error

func EndsWith

func EndsWith(value string, suffix string) error

func Eq

func Eq(value any, expected any) error

Eq validates that value equals expected.

func EqCSField

func EqCSField(target any, fieldPath string, otherPath string) error

func EqField

func EqField(target any, fieldPath string, otherPath string) error

func EqIgnoreCase

func EqIgnoreCase(value string, expected string) error

EqIgnoreCase validates that value equals expected case-insensitively.

func ExcludedIf

func ExcludedIf(target any, fieldPath string, conditions ...FieldCondition) error

func ExcludedUnless

func ExcludedUnless(target any, fieldPath string, conditions ...FieldCondition) error

func ExcludedWith

func ExcludedWith(target any, fieldPath string, otherPaths ...string) error

func ExcludedWithAll

func ExcludedWithAll(target any, fieldPath string, otherPaths ...string) error

func ExcludedWithout

func ExcludedWithout(target any, fieldPath string, otherPaths ...string) error

func ExcludedWithoutAll

func ExcludedWithoutAll(target any, fieldPath string, otherPaths ...string) error

func Excludes

func Excludes(value string, substr string) error

func ExcludesAll

func ExcludesAll(value string, chars string) error

func ExcludesRune

func ExcludesRune(value string, r rune) error

func FQDN

func FQDN(value string) error

func FieldContains

func FieldContains(target any, fieldPath string, chars string) error

func FieldExcludes

func FieldExcludes(target any, fieldPath string, chars string) error

func File

func File(path string) error

func FilePath

func FilePath(path string) error

func GT

func GT(value any, threshold any) error

GT is an alias for Gt.

func GTE

func GTE(value any, threshold any) error

GTE is an alias for Gte.

func Gt

func Gt(value any, threshold any) error

Gt validates that value is greater than threshold.

func GtCSField

func GtCSField(target any, fieldPath string, otherPath string) error

func GtField

func GtField(target any, fieldPath string, otherPath string) error

func Gte

func Gte(value any, threshold any) error

Gte validates that value is greater than or equal to threshold.

func GteCSField

func GteCSField(target any, fieldPath string, otherPath string) error

func GteField

func GteField(target any, fieldPath string, otherPath string) error

func HSL

func HSL(value string) error

func HSLA

func HSLA(value string) error

func HTML

func HTML(value string) error

func HTMLEncoded

func HTMLEncoded(value string) error

func HTTPSURL

func HTTPSURL(value string) error

func HTTPURL

func HTTPURL(value string) error

func HexColor

func HexColor(value string) error

func Hexadecimal

func Hexadecimal(value string) error

func Hostname

func Hostname(value string) error

func HostnamePort

func HostnamePort(value string) error

func HostnameRFC1123

func HostnameRFC1123(value string) error

func IP

func IP(value string) error

func IP4Addr

func IP4Addr(value string) error

func IP6Addr

func IP6Addr(value string) error

func IPAddr

func IPAddr(value string) error

func IPv4

func IPv4(value string) error

func IPv6

func IPv6(value string) error

func ISBN

func ISBN(value string) error

func ISBN10

func ISBN10(value string) error

func ISBN13

func ISBN13(value string) error

func ISO3166Alpha2

func ISO3166Alpha2(value string) error

func ISO3166Alpha3

func ISO3166Alpha3(value string) error

func ISO3166AlphaNumeric

func ISO3166AlphaNumeric(value string) error

func ISO4217

func ISO4217(value string) error

func ISO31662

func ISO31662(value string) error

func ISSN

func ISSN(value string) error

func Image

func Image(path string) error

func IsColor

func IsColor(value string) error

func IsDefault

func IsDefault(value any) error

func IsValidationError

func IsValidationError(err error) bool

IsValidationError reports whether err contains a ValidationError.

func JSON

func JSON(value string) error

func JWT

func JWT(value string) error

func LT

func LT(value any, threshold any) error

LT is an alias for Lt.

func LTE

func LTE(value any, threshold any) error

LTE is an alias for Lte.

func Latitude

func Latitude(value any) error

func Len

func Len(value any, length int) error

func Longitude

func Longitude(value any) error

func Lowercase

func Lowercase(value string) error

func Lt

func Lt(value any, threshold any) error

Lt validates that value is less than threshold.

func LtCSField

func LtCSField(target any, fieldPath string, otherPath string) error

func LtField

func LtField(target any, fieldPath string, otherPath string) error

func Lte

func Lte(value any, threshold any) error

Lte validates that value is less than or equal to threshold.

func LteCSField

func LteCSField(target any, fieldPath string, otherPath string) error

func LteField

func LteField(target any, fieldPath string, otherPath string) error

func LuhnChecksum

func LuhnChecksum(value any) error

func MAC

func MAC(value string) error

func MD4

func MD4(value string) error

func MD5

func MD5(value string) error

func MIMEType

func MIMEType(value string) error

func Max

func Max(value any, max any) error

func Min

func Min(value any, min any) error

func MongoDB

func MongoDB(value string) error

func MongoDBConnectionString

func MongoDBConnectionString(value string) error

func Multibyte

func Multibyte(value string) error

func NE

func NE(value any, disallowed any) error

NE is an alias for Ne.

func Ne

func Ne(value any, disallowed any) error

Ne validates that value does not equal disallowed.

func NeCSField

func NeCSField(target any, fieldPath string, otherPath string) error

func NeField

func NeField(target any, fieldPath string, otherPath string) error

func NeIgnoreCase

func NeIgnoreCase(value string, disallowed string) error

NeIgnoreCase validates that value does not equal disallowed case-insensitively.

func NoneOf

func NoneOf(value any, choices ...any) error

func Number

func Number(value string) error

func Numeric

func Numeric(value string) error

func OneOf

func OneOf(value any, choices ...any) error

func Origin

func Origin(value string) error

func Port

func Port(value any) error

func PostcodeISO3166Alpha2

func PostcodeISO3166Alpha2(value string, country string) error

func PostcodeISO3166Alpha2Field

func PostcodeISO3166Alpha2Field(target any, fieldPath string, countryFieldPath string) error

func PrintASCII

func PrintASCII(value string) error

func RGB

func RGB(value string) error

func RGBA

func RGBA(value string) error

func RIPEMD128

func RIPEMD128(value string) error

func RIPEMD160

func RIPEMD160(value string) error

func Required

func Required(value any) error

func RequiredIf

func RequiredIf(target any, fieldPath string, conditions ...FieldCondition) error

func RequiredUnless

func RequiredUnless(target any, fieldPath string, conditions ...FieldCondition) error

func RequiredWith

func RequiredWith(target any, fieldPath string, otherPaths ...string) error

func RequiredWithAll

func RequiredWithAll(target any, fieldPath string, otherPaths ...string) error

func RequiredWithout

func RequiredWithout(target any, fieldPath string, otherPaths ...string) error

func RequiredWithoutAll

func RequiredWithoutAll(target any, fieldPath string, otherPaths ...string) error

func SHA256

func SHA256(value string) error

func SHA384

func SHA384(value string) error

func SHA512

func SHA512(value string) error

func SSN

func SSN(value string) error

func SemVer

func SemVer(value string) error

func SpiceDB

func SpiceDB(value string) error

func StartsNotWith

func StartsNotWith(value string, prefix string) error

func StartsWith

func StartsWith(value string, prefix string) error

func TCP4Addr

func TCP4Addr(value string) error

func TCP6Addr

func TCP6Addr(value string) error

func TCPAddr

func TCPAddr(value string) error

func TIGER128

func TIGER128(value string) error

func TIGER160

func TIGER160(value string) error

func TIGER192

func TIGER192(value string) error

func Timezone

func Timezone(value string) error

func UDP4Addr

func UDP4Addr(value string) error

func UDP6Addr

func UDP6Addr(value string) error

func UDPAddr

func UDPAddr(value string) error

func UDSExists

func UDSExists(value string) error

func ULID

func ULID(value string) error

func URI

func URI(value string) error

func URL

func URL(value string) error

func URLEncoded

func URLEncoded(value string) error

func URNRFC2141

func URNRFC2141(value string) error

func UUID

func UUID(value string) error

func UUID3

func UUID3(value string) error

func UUID3RFC4122

func UUID3RFC4122(value string) error

func UUID4

func UUID4(value string) error

func UUID4RFC4122

func UUID4RFC4122(value string) error

func UUID5

func UUID5(value string) error

func UUID5RFC4122

func UUID5RFC4122(value string) error

func UUIDRFC4122

func UUIDRFC4122(value string) error

func Unique

func Unique(value any) error

func UnixAddr

func UnixAddr(value string) error

func Uppercase

func Uppercase(value string) error

func ValidateFn

func ValidateFn(value any, methodName ...string) (err error)

Types

type FieldCondition

type FieldCondition struct {
	Field string
	Value any
}

FieldCondition describes a struct field value condition used by required_* and excluded_* validators.

func Condition

func Condition(field string, value any) FieldCondition

Condition creates a FieldCondition.

type StringValidator added in v0.1.3

type StringValidator struct {
	// contains filtered or unexported fields
}

StringValidator validates and transforms a string through a fluent chain.

func String added in v0.1.3

func String(value string) *StringValidator

String starts a fluent validation chain for a string value.

func (*StringValidator) ASCII added in v0.1.3

func (v *StringValidator) ASCII() *StringValidator

func (*StringValidator) Alpha added in v0.1.3

func (v *StringValidator) Alpha() *StringValidator

func (*StringValidator) AlphaSpace added in v0.1.3

func (v *StringValidator) AlphaSpace() *StringValidator

func (*StringValidator) AlphaUnicode added in v0.1.3

func (v *StringValidator) AlphaUnicode() *StringValidator

func (*StringValidator) Alphanum added in v0.1.3

func (v *StringValidator) Alphanum() *StringValidator

func (*StringValidator) AlphanumSpace added in v0.1.3

func (v *StringValidator) AlphanumSpace() *StringValidator

func (*StringValidator) AlphanumUnicode added in v0.1.3

func (v *StringValidator) AlphanumUnicode() *StringValidator

func (*StringValidator) BCP47LanguageTag added in v0.1.3

func (v *StringValidator) BCP47LanguageTag() *StringValidator

func (*StringValidator) BCP47StrictLanguageTag added in v0.1.3

func (v *StringValidator) BCP47StrictLanguageTag() *StringValidator

func (*StringValidator) BIC added in v0.1.3

func (v *StringValidator) BIC() *StringValidator

func (*StringValidator) BICISO93622014 added in v0.1.3

func (v *StringValidator) BICISO93622014() *StringValidator

func (*StringValidator) BTCAddr added in v0.1.3

func (v *StringValidator) BTCAddr() *StringValidator

func (*StringValidator) BTCAddrBech32 added in v0.1.3

func (v *StringValidator) BTCAddrBech32() *StringValidator

func (*StringValidator) Base64 added in v0.1.3

func (v *StringValidator) Base64() *StringValidator

func (*StringValidator) Base64RawURL added in v0.1.3

func (v *StringValidator) Base64RawURL() *StringValidator

func (*StringValidator) Base64URL added in v0.1.3

func (v *StringValidator) Base64URL() *StringValidator

func (*StringValidator) Boolean added in v0.1.3

func (v *StringValidator) Boolean() *StringValidator

func (*StringValidator) CIDR added in v0.1.3

func (v *StringValidator) CIDR() *StringValidator

func (*StringValidator) CIDRv4 added in v0.1.3

func (v *StringValidator) CIDRv4() *StringValidator

func (*StringValidator) CIDRv6 added in v0.1.3

func (v *StringValidator) CIDRv6() *StringValidator

func (*StringValidator) CMYK added in v0.1.3

func (v *StringValidator) CMYK() *StringValidator

func (*StringValidator) CVE added in v0.1.3

func (v *StringValidator) CVE() *StringValidator

func (*StringValidator) Check added in v0.1.3

func (v *StringValidator) Check(fn func(string) error) *StringValidator

Check runs fn against the current value when the chain has not failed.

func (*StringValidator) Contains added in v0.1.3

func (v *StringValidator) Contains(substr string) *StringValidator

func (*StringValidator) ContainsAny added in v0.1.3

func (v *StringValidator) ContainsAny(chars string) *StringValidator

func (*StringValidator) ContainsRune added in v0.1.3

func (v *StringValidator) ContainsRune(r rune) *StringValidator

func (*StringValidator) CountryCode added in v0.1.3

func (v *StringValidator) CountryCode() *StringValidator

func (*StringValidator) CreditCard added in v0.1.3

func (v *StringValidator) CreditCard() *StringValidator

func (*StringValidator) Cron added in v0.1.3

func (v *StringValidator) Cron() *StringValidator

func (*StringValidator) DataURI added in v0.1.3

func (v *StringValidator) DataURI() *StringValidator

func (*StringValidator) DateTime added in v0.1.3

func (v *StringValidator) DateTime(layouts ...string) *StringValidator

func (*StringValidator) Dir added in v0.1.3

func (v *StringValidator) Dir() *StringValidator

func (*StringValidator) DirPath added in v0.1.3

func (v *StringValidator) DirPath() *StringValidator

func (*StringValidator) Domain added in v0.1.3

func (v *StringValidator) Domain() *StringValidator

func (*StringValidator) E164 added in v0.1.3

func (v *StringValidator) E164() *StringValidator

func (*StringValidator) EIN added in v0.1.3

func (v *StringValidator) EIN() *StringValidator

func (*StringValidator) ETHAddr added in v0.1.3

func (v *StringValidator) ETHAddr() *StringValidator

func (*StringValidator) Email added in v0.1.3

func (v *StringValidator) Email() *StringValidator

func (*StringValidator) EndsNotWith added in v0.1.3

func (v *StringValidator) EndsNotWith(suffix string) *StringValidator

func (*StringValidator) EndsWith added in v0.1.3

func (v *StringValidator) EndsWith(suffix string) *StringValidator

func (*StringValidator) Eq added in v0.1.3

func (v *StringValidator) Eq(expected any) *StringValidator

Eq validates that the current value equals expected.

func (*StringValidator) EqIgnoreCase added in v0.1.3

func (v *StringValidator) EqIgnoreCase(expected string) *StringValidator

EqIgnoreCase validates that the current value equals expected case-insensitively.

func (*StringValidator) Err added in v0.1.3

func (v *StringValidator) Err() error

Err returns the first validation error in the chain.

func (*StringValidator) Excludes added in v0.1.3

func (v *StringValidator) Excludes(substr string) *StringValidator

func (*StringValidator) ExcludesAll added in v0.1.3

func (v *StringValidator) ExcludesAll(chars string) *StringValidator

func (*StringValidator) ExcludesRune added in v0.1.3

func (v *StringValidator) ExcludesRune(r rune) *StringValidator

func (*StringValidator) FQDN added in v0.1.3

func (v *StringValidator) FQDN() *StringValidator

func (*StringValidator) File added in v0.1.3

func (v *StringValidator) File() *StringValidator

func (*StringValidator) FilePath added in v0.1.3

func (v *StringValidator) FilePath() *StringValidator

func (*StringValidator) Gt added in v0.1.3

func (v *StringValidator) Gt(threshold any) *StringValidator

Gt validates that the current value is greater than threshold.

func (*StringValidator) Gte added in v0.1.3

func (v *StringValidator) Gte(threshold any) *StringValidator

Gte validates that the current value is greater than or equal to threshold.

func (*StringValidator) HSL added in v0.1.3

func (v *StringValidator) HSL() *StringValidator

func (*StringValidator) HSLA added in v0.1.3

func (v *StringValidator) HSLA() *StringValidator

func (*StringValidator) HTML added in v0.1.3

func (v *StringValidator) HTML() *StringValidator

func (*StringValidator) HTMLEncoded added in v0.1.3

func (v *StringValidator) HTMLEncoded() *StringValidator

func (*StringValidator) HTTPSURL added in v0.1.3

func (v *StringValidator) HTTPSURL() *StringValidator

func (*StringValidator) HTTPURL added in v0.1.3

func (v *StringValidator) HTTPURL() *StringValidator

func (*StringValidator) HexColor added in v0.1.3

func (v *StringValidator) HexColor() *StringValidator

func (*StringValidator) Hexadecimal added in v0.1.3

func (v *StringValidator) Hexadecimal() *StringValidator

func (*StringValidator) Hostname added in v0.1.3

func (v *StringValidator) Hostname() *StringValidator

func (*StringValidator) HostnamePort added in v0.1.3

func (v *StringValidator) HostnamePort() *StringValidator

func (*StringValidator) HostnameRFC1123 added in v0.1.3

func (v *StringValidator) HostnameRFC1123() *StringValidator

func (*StringValidator) IP added in v0.1.3

func (*StringValidator) IP4Addr added in v0.1.3

func (v *StringValidator) IP4Addr() *StringValidator

func (*StringValidator) IP6Addr added in v0.1.3

func (v *StringValidator) IP6Addr() *StringValidator

func (*StringValidator) IPAddr added in v0.1.3

func (v *StringValidator) IPAddr() *StringValidator

func (*StringValidator) IPv4 added in v0.1.3

func (v *StringValidator) IPv4() *StringValidator

func (*StringValidator) IPv6 added in v0.1.3

func (v *StringValidator) IPv6() *StringValidator

func (*StringValidator) ISBN added in v0.1.3

func (v *StringValidator) ISBN() *StringValidator

func (*StringValidator) ISBN10 added in v0.1.3

func (v *StringValidator) ISBN10() *StringValidator

func (*StringValidator) ISBN13 added in v0.1.3

func (v *StringValidator) ISBN13() *StringValidator

func (*StringValidator) ISO3166Alpha2 added in v0.1.3

func (v *StringValidator) ISO3166Alpha2() *StringValidator

func (*StringValidator) ISO3166Alpha3 added in v0.1.3

func (v *StringValidator) ISO3166Alpha3() *StringValidator

func (*StringValidator) ISO3166AlphaNumeric added in v0.1.3

func (v *StringValidator) ISO3166AlphaNumeric() *StringValidator

func (*StringValidator) ISO4217 added in v0.1.3

func (v *StringValidator) ISO4217() *StringValidator

func (*StringValidator) ISO31662 added in v0.1.3

func (v *StringValidator) ISO31662() *StringValidator

func (*StringValidator) ISSN added in v0.1.3

func (v *StringValidator) ISSN() *StringValidator

func (*StringValidator) Image added in v0.1.3

func (v *StringValidator) Image() *StringValidator

func (*StringValidator) IsColor added in v0.1.3

func (v *StringValidator) IsColor() *StringValidator

func (*StringValidator) IsDefault added in v0.1.3

func (v *StringValidator) IsDefault() *StringValidator

IsDefault validates that the current value is the zero value.

func (*StringValidator) JSON added in v0.1.3

func (v *StringValidator) JSON() *StringValidator

func (*StringValidator) JWT added in v0.1.3

func (v *StringValidator) JWT() *StringValidator

func (*StringValidator) Latitude added in v0.1.3

func (v *StringValidator) Latitude() *StringValidator

Latitude validates that the current value is a latitude.

func (*StringValidator) Len added in v0.1.3

func (v *StringValidator) Len(length int) *StringValidator

Len validates that the current value has exactly length runes.

func (*StringValidator) Longitude added in v0.1.3

func (v *StringValidator) Longitude() *StringValidator

Longitude validates that the current value is a longitude.

func (*StringValidator) Lowercase added in v0.1.3

func (v *StringValidator) Lowercase() *StringValidator

func (*StringValidator) Lt added in v0.1.3

func (v *StringValidator) Lt(threshold any) *StringValidator

Lt validates that the current value is less than threshold.

func (*StringValidator) Lte added in v0.1.3

func (v *StringValidator) Lte(threshold any) *StringValidator

Lte validates that the current value is less than or equal to threshold.

func (*StringValidator) LuhnChecksum added in v0.1.3

func (v *StringValidator) LuhnChecksum() *StringValidator

LuhnChecksum validates that the current value passes the Luhn checksum.

func (*StringValidator) MAC added in v0.1.3

func (v *StringValidator) MAC() *StringValidator

func (*StringValidator) MD4 added in v0.1.3

func (v *StringValidator) MD4() *StringValidator

func (*StringValidator) MD5 added in v0.1.3

func (v *StringValidator) MD5() *StringValidator

func (*StringValidator) MIMEType added in v0.1.3

func (v *StringValidator) MIMEType() *StringValidator

func (*StringValidator) Max added in v0.1.3

func (v *StringValidator) Max(max any) *StringValidator

Max validates that the current value length is at most max.

func (*StringValidator) Min added in v0.1.3

func (v *StringValidator) Min(min any) *StringValidator

Min validates that the current value length is at least min.

func (*StringValidator) MongoDB added in v0.1.3

func (v *StringValidator) MongoDB() *StringValidator

func (*StringValidator) MongoDBConnectionString added in v0.1.3

func (v *StringValidator) MongoDBConnectionString() *StringValidator

func (*StringValidator) Multibyte added in v0.1.3

func (v *StringValidator) Multibyte() *StringValidator

func (*StringValidator) Ne added in v0.1.3

func (v *StringValidator) Ne(disallowed any) *StringValidator

Ne validates that the current value does not equal disallowed.

func (*StringValidator) NeIgnoreCase added in v0.1.3

func (v *StringValidator) NeIgnoreCase(disallowed string) *StringValidator

NeIgnoreCase validates that the current value does not equal disallowed case-insensitively.

func (*StringValidator) NoneOf added in v0.1.3

func (v *StringValidator) NoneOf(choices ...any) *StringValidator

NoneOf validates that the current value does not equal any choice.

func (*StringValidator) Number added in v0.1.3

func (v *StringValidator) Number() *StringValidator

func (*StringValidator) Numeric added in v0.1.3

func (v *StringValidator) Numeric() *StringValidator

func (*StringValidator) OneOf added in v0.1.3

func (v *StringValidator) OneOf(choices ...any) *StringValidator

OneOf validates that the current value equals one of choices.

func (*StringValidator) Origin added in v0.1.3

func (v *StringValidator) Origin() *StringValidator

func (*StringValidator) Port added in v0.1.3

func (v *StringValidator) Port() *StringValidator

Port validates that the current value is a TCP/UDP port.

func (*StringValidator) PostcodeISO3166Alpha2 added in v0.1.3

func (v *StringValidator) PostcodeISO3166Alpha2(country string) *StringValidator

func (*StringValidator) PrintASCII added in v0.1.3

func (v *StringValidator) PrintASCII() *StringValidator

func (*StringValidator) RGB added in v0.1.3

func (v *StringValidator) RGB() *StringValidator

func (*StringValidator) RGBA added in v0.1.3

func (v *StringValidator) RGBA() *StringValidator

func (*StringValidator) RIPEMD128 added in v0.1.3

func (v *StringValidator) RIPEMD128() *StringValidator

func (*StringValidator) RIPEMD160 added in v0.1.3

func (v *StringValidator) RIPEMD160() *StringValidator

func (*StringValidator) Required added in v0.1.3

func (v *StringValidator) Required() *StringValidator

Required validates that the current value is not empty.

func (*StringValidator) SHA256 added in v0.1.3

func (v *StringValidator) SHA256() *StringValidator

func (*StringValidator) SHA384 added in v0.1.3

func (v *StringValidator) SHA384() *StringValidator

func (*StringValidator) SHA512 added in v0.1.3

func (v *StringValidator) SHA512() *StringValidator

func (*StringValidator) SSN added in v0.1.3

func (v *StringValidator) SSN() *StringValidator

func (*StringValidator) SemVer added in v0.1.3

func (v *StringValidator) SemVer() *StringValidator

func (*StringValidator) SpiceDB added in v0.1.3

func (v *StringValidator) SpiceDB() *StringValidator

func (*StringValidator) StartsNotWith added in v0.1.3

func (v *StringValidator) StartsNotWith(prefix string) *StringValidator

func (*StringValidator) StartsWith added in v0.1.3

func (v *StringValidator) StartsWith(prefix string) *StringValidator

func (*StringValidator) TCP4Addr added in v0.1.3

func (v *StringValidator) TCP4Addr() *StringValidator

func (*StringValidator) TCP6Addr added in v0.1.3

func (v *StringValidator) TCP6Addr() *StringValidator

func (*StringValidator) TCPAddr added in v0.1.3

func (v *StringValidator) TCPAddr() *StringValidator

func (*StringValidator) TIGER128 added in v0.1.3

func (v *StringValidator) TIGER128() *StringValidator

func (*StringValidator) TIGER160 added in v0.1.3

func (v *StringValidator) TIGER160() *StringValidator

func (*StringValidator) TIGER192 added in v0.1.3

func (v *StringValidator) TIGER192() *StringValidator

func (*StringValidator) Timezone added in v0.1.3

func (v *StringValidator) Timezone() *StringValidator

func (*StringValidator) TrimSpace added in v0.1.3

func (v *StringValidator) TrimSpace() *StringValidator

TrimSpace removes leading and trailing white space from the current value.

func (*StringValidator) UDP4Addr added in v0.1.3

func (v *StringValidator) UDP4Addr() *StringValidator

func (*StringValidator) UDP6Addr added in v0.1.3

func (v *StringValidator) UDP6Addr() *StringValidator

func (*StringValidator) UDPAddr added in v0.1.3

func (v *StringValidator) UDPAddr() *StringValidator

func (*StringValidator) UDSExists added in v0.1.3

func (v *StringValidator) UDSExists() *StringValidator

func (*StringValidator) ULID added in v0.1.3

func (v *StringValidator) ULID() *StringValidator

func (*StringValidator) URI added in v0.1.3

func (v *StringValidator) URI() *StringValidator

func (*StringValidator) URL added in v0.1.3

func (v *StringValidator) URL() *StringValidator

func (*StringValidator) URLEncoded added in v0.1.3

func (v *StringValidator) URLEncoded() *StringValidator

func (*StringValidator) URNRFC2141 added in v0.1.3

func (v *StringValidator) URNRFC2141() *StringValidator

func (*StringValidator) UUID added in v0.1.3

func (v *StringValidator) UUID() *StringValidator

func (*StringValidator) UUID3 added in v0.1.3

func (v *StringValidator) UUID3() *StringValidator

func (*StringValidator) UUID3RFC4122 added in v0.1.3

func (v *StringValidator) UUID3RFC4122() *StringValidator

func (*StringValidator) UUID4 added in v0.1.3

func (v *StringValidator) UUID4() *StringValidator

func (*StringValidator) UUID4RFC4122 added in v0.1.3

func (v *StringValidator) UUID4RFC4122() *StringValidator

func (*StringValidator) UUID5 added in v0.1.3

func (v *StringValidator) UUID5() *StringValidator

func (*StringValidator) UUID5RFC4122 added in v0.1.3

func (v *StringValidator) UUID5RFC4122() *StringValidator

func (*StringValidator) UUIDRFC4122 added in v0.1.3

func (v *StringValidator) UUIDRFC4122() *StringValidator

func (*StringValidator) Unique added in v0.1.3

func (v *StringValidator) Unique() *StringValidator

Unique validates that the current value contains unique runes.

func (*StringValidator) UnixAddr added in v0.1.3

func (v *StringValidator) UnixAddr() *StringValidator

func (*StringValidator) Uppercase added in v0.1.3

func (v *StringValidator) Uppercase() *StringValidator

func (*StringValidator) Value added in v0.1.3

func (v *StringValidator) Value() (string, error)

Value returns the current string value and the first validation error.

type ValidationError

type ValidationError struct {
	Tag     string
	Value   any
	Param   any
	Message string
}

ValidationError describes a failed validation.

func (*ValidationError) Error

func (e *ValidationError) Error() string

type ValueValidator added in v0.1.3

type ValueValidator struct {
	// contains filtered or unexported fields
}

ValueValidator validates any value through a fluent chain.

func Any added in v0.1.3

func Any(value any) *ValueValidator

Any starts a fluent validation chain for any value.

func (*ValueValidator) Check added in v0.1.3

func (v *ValueValidator) Check(fn func(any) error) *ValueValidator

Check runs fn against the current value when the chain has not failed.

func (*ValueValidator) Eq added in v0.1.3

func (v *ValueValidator) Eq(expected any) *ValueValidator

func (*ValueValidator) Err added in v0.1.3

func (v *ValueValidator) Err() error

Err returns the first validation error in the chain.

func (*ValueValidator) Gt added in v0.1.3

func (v *ValueValidator) Gt(threshold any) *ValueValidator

func (*ValueValidator) Gte added in v0.1.3

func (v *ValueValidator) Gte(threshold any) *ValueValidator

func (*ValueValidator) IsDefault added in v0.1.3

func (v *ValueValidator) IsDefault() *ValueValidator

func (*ValueValidator) Latitude added in v0.1.3

func (v *ValueValidator) Latitude() *ValueValidator

func (*ValueValidator) Len added in v0.1.3

func (v *ValueValidator) Len(length int) *ValueValidator

func (*ValueValidator) Longitude added in v0.1.3

func (v *ValueValidator) Longitude() *ValueValidator

func (*ValueValidator) Lt added in v0.1.3

func (v *ValueValidator) Lt(threshold any) *ValueValidator

func (*ValueValidator) Lte added in v0.1.3

func (v *ValueValidator) Lte(threshold any) *ValueValidator

func (*ValueValidator) LuhnChecksum added in v0.1.3

func (v *ValueValidator) LuhnChecksum() *ValueValidator

func (*ValueValidator) Max added in v0.1.3

func (v *ValueValidator) Max(max any) *ValueValidator

func (*ValueValidator) Min added in v0.1.3

func (v *ValueValidator) Min(min any) *ValueValidator

func (*ValueValidator) Ne added in v0.1.3

func (v *ValueValidator) Ne(disallowed any) *ValueValidator

func (*ValueValidator) NoneOf added in v0.1.3

func (v *ValueValidator) NoneOf(choices ...any) *ValueValidator

func (*ValueValidator) OneOf added in v0.1.3

func (v *ValueValidator) OneOf(choices ...any) *ValueValidator

func (*ValueValidator) Port added in v0.1.3

func (v *ValueValidator) Port() *ValueValidator

func (*ValueValidator) Required added in v0.1.3

func (v *ValueValidator) Required() *ValueValidator

func (*ValueValidator) Unique added in v0.1.3

func (v *ValueValidator) Unique() *ValueValidator

func (*ValueValidator) ValidateFn added in v0.1.3

func (v *ValueValidator) ValidateFn(methodName ...string) *ValueValidator

func (*ValueValidator) Value added in v0.1.3

func (v *ValueValidator) Value() (any, error)

Value returns the current value and the first validation error.

Jump to

Keyboard shortcuts

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