Versions in this module Expand all Collapse all v0 v0.1.0 Jun 24, 2026 Changes in this version + func FormatErrors(errs []Error) string + type Coder interface + Code func() string + type DiveBuilder struct + func (db *DiveBuilder) Apply(rules ...Rule) *DiveBuilder + func (db *DiveBuilder) Check(fn func(value any) bool, msg string) *DiveBuilder + func (db *DiveBuilder) CheckIf(cond bool, msg string) *DiveBuilder + func (db *DiveBuilder) Each() *DiveBuilder + func (db *DiveBuilder) End() *FieldBuilder + func (db *DiveBuilder) FloatMax(max float64) *DiveBuilder + func (db *DiveBuilder) FloatMin(min float64) *DiveBuilder + func (db *DiveBuilder) FloatRange(min, max float64) *DiveBuilder + func (db *DiveBuilder) IntMax(max int) *DiveBuilder + func (db *DiveBuilder) IntMin(min int) *DiveBuilder + func (db *DiveBuilder) IntRange(min, max int) *DiveBuilder + func (db *DiveBuilder) LenExact(n int) *DiveBuilder + func (db *DiveBuilder) LenRange(min, max int) *DiveBuilder + func (db *DiveBuilder) Max(max float64) *DiveBuilder + func (db *DiveBuilder) MaxLength(n int) *DiveBuilder + func (db *DiveBuilder) MinLength(n int) *DiveBuilder + func (db *DiveBuilder) NotOneOf(forbidden ...string) *DiveBuilder + func (db *DiveBuilder) OneOf(allowed ...string) *DiveBuilder + func (db *DiveBuilder) Required() *DiveBuilder + type Error struct + Code string + Message string + Path string + Severity Severity + Value string + func (e Error) Error() string + type FieldBuilder struct + func (fb *FieldBuilder) Apply(rules ...Rule) *FieldBuilder + func (fb *FieldBuilder) AsWarning() *FieldBuilder + func (fb *FieldBuilder) Check(fn func(value any) bool, msg string) *FieldBuilder + func (fb *FieldBuilder) CheckIf(cond bool, msg string) *FieldBuilder + func (fb *FieldBuilder) Distinct() *FieldBuilder + func (fb *FieldBuilder) Each() *DiveBuilder + func (fb *FieldBuilder) EachKey() *DiveBuilder + func (fb *FieldBuilder) EachValue() *DiveBuilder + func (fb *FieldBuilder) EqField(other string) *FieldBuilder + func (fb *FieldBuilder) ExcludedIf(field string, values ...string) *FieldBuilder + func (fb *FieldBuilder) ExcludedUnless(field string, values ...string) *FieldBuilder + func (fb *FieldBuilder) FloatMax(max float64) *FieldBuilder + func (fb *FieldBuilder) FloatMin(min float64) *FieldBuilder + func (fb *FieldBuilder) FloatRange(min, max float64) *FieldBuilder + func (fb *FieldBuilder) GteField(other string) *FieldBuilder + func (fb *FieldBuilder) IntMax(max int) *FieldBuilder + func (fb *FieldBuilder) IntMin(min int) *FieldBuilder + func (fb *FieldBuilder) IntRange(min, max int) *FieldBuilder + func (fb *FieldBuilder) IsAlpha() *FieldBuilder + func (fb *FieldBuilder) IsAlphaNumeric() *FieldBuilder + func (fb *FieldBuilder) IsEmail() *FieldBuilder + func (fb *FieldBuilder) IsHexColor() *FieldBuilder + func (fb *FieldBuilder) IsIPv4() *FieldBuilder + func (fb *FieldBuilder) IsIPv6() *FieldBuilder + func (fb *FieldBuilder) IsNumeric() *FieldBuilder + func (fb *FieldBuilder) IsSemver() *FieldBuilder + func (fb *FieldBuilder) IsSlug() *FieldBuilder + func (fb *FieldBuilder) IsURL() *FieldBuilder + func (fb *FieldBuilder) IsUUID() *FieldBuilder + func (fb *FieldBuilder) LenExact(n int) *FieldBuilder + func (fb *FieldBuilder) LenRange(min, max int) *FieldBuilder + func (fb *FieldBuilder) LessOrEqual(otherField string) *FieldBuilder + func (fb *FieldBuilder) LteField(other string) *FieldBuilder + func (fb *FieldBuilder) Max(max float64) *FieldBuilder + func (fb *FieldBuilder) MaxLength(n int) *FieldBuilder + func (fb *FieldBuilder) Message(msg string) *FieldBuilder + func (fb *FieldBuilder) MinLength(n int) *FieldBuilder + func (fb *FieldBuilder) NotOneOf(forbidden ...string) *FieldBuilder + func (fb *FieldBuilder) OmitEmpty() *FieldBuilder + func (fb *FieldBuilder) OmitNil() *FieldBuilder + func (fb *FieldBuilder) OneOf(allowed ...string) *FieldBuilder + func (fb *FieldBuilder) Required() *FieldBuilder + func (fb *FieldBuilder) RequiredIf(field string, values ...string) *FieldBuilder + func (fb *FieldBuilder) RequiredUnless(field string, values ...string) *FieldBuilder + func (fb *FieldBuilder) RequiredWith(fields ...string) *FieldBuilder + func (fb *FieldBuilder) RequiredWithAll(fields ...string) *FieldBuilder + func (fb *FieldBuilder) RequiredWithout(fields ...string) *FieldBuilder + func (fb *FieldBuilder) RequiredWithoutAll(fields ...string) *FieldBuilder + func (fb *FieldBuilder) Value(v any) *FieldBuilder + func (fb *FieldBuilder) When(cond bool, rules ...Rule) *FieldBuilder + type InternalError struct + Err error + func (e *InternalError) Error() string + func (e *InternalError) Unwrap() error + type MessageFunc func(e Error) string + type MessageRegistry map[string]MessageFunc + type Option func(*validatorOptions) + func StopOnFirst() Option + func StrictFields(known ...string) Option + func WithMessages(registry MessageRegistry) Option + type ResolverAware interface + Bind func(r ValueResolver) + type Results struct + func (r *Results) AllIssues() []Error + func (r *Results) Error() string + func (r *Results) Errors() []Error + func (r *Results) FormatErrors() string + func (r *Results) FormatWarnings() string + func (r *Results) HasErrors() bool + func (r *Results) HasInternalErrors() bool + func (r *Results) HasWarnings() bool + func (r *Results) InternalErrors() []error + func (r *Results) Warnings() []Error + type Rule interface + Validate func(value any) error + func NewCheck(fn func(value any) bool, msg string) Rule + func NewCheckIf(cond bool, msg string) Rule + func NewDistinct() Rule + func NewEqField(other string) Rule + func NewExcludedIf(field string, values ...string) Rule + func NewExcludedUnless(field string, values ...string) Rule + func NewFloatMax(max float64) Rule + func NewFloatMin(min float64) Rule + func NewFloatRange(min, max float64) Rule + func NewGteField(other string) Rule + func NewIntMax(max int) Rule + func NewIntMin(min int) Rule + func NewIntRange(min, max int) Rule + func NewLenExact(n int) Rule + func NewLenRange(min, max int) Rule + func NewLessOrEqual(otherPath string) Rule + func NewLteField(other string) Rule + func NewMax(max float64) Rule + func NewMaxLength(n int) Rule + func NewMinLength(n int) Rule + func NewNotOneOf(forbidden ...string) Rule + func NewOneOf(allowed ...string) Rule + func NewRequired() Rule + func NewRequiredIf(field string, values ...string) Rule + func NewRequiredUnless(field string, values ...string) Rule + func NewRequiredWith(fields ...string) Rule + func NewRequiredWithAll(fields ...string) Rule + func NewRequiredWithout(fields ...string) Rule + func NewRequiredWithoutAll(fields ...string) Rule + func NewWhen(cond bool, rules ...Rule) Rule + type RuleFunc func(value any) error + func (f RuleFunc) Validate(value any) error + type RuleGroup struct + func (g *RuleGroup) Rules() []Rule + type RuleGroupBuilder struct + func NewRuleGroup() *RuleGroupBuilder + func (b *RuleGroupBuilder) Build() *RuleGroup + func (b *RuleGroupBuilder) FloatMax(max float64) *RuleGroupBuilder + func (b *RuleGroupBuilder) FloatMin(min float64) *RuleGroupBuilder + func (b *RuleGroupBuilder) FloatRange(min, max float64) *RuleGroupBuilder + func (b *RuleGroupBuilder) IntMax(max int) *RuleGroupBuilder + func (b *RuleGroupBuilder) IntMin(min int) *RuleGroupBuilder + func (b *RuleGroupBuilder) IntRange(min, max int) *RuleGroupBuilder + func (b *RuleGroupBuilder) LenExact(n int) *RuleGroupBuilder + func (b *RuleGroupBuilder) LenRange(min, max int) *RuleGroupBuilder + func (b *RuleGroupBuilder) Max(max float64) *RuleGroupBuilder + func (b *RuleGroupBuilder) MaxLength(n int) *RuleGroupBuilder + func (b *RuleGroupBuilder) MinLength(n int) *RuleGroupBuilder + func (b *RuleGroupBuilder) NotOneOf(forbidden ...string) *RuleGroupBuilder + func (b *RuleGroupBuilder) OneOf(allowed ...string) *RuleGroupBuilder + func (b *RuleGroupBuilder) Required() *RuleGroupBuilder + type Severity int + const SeverityError + const SeverityWarning + type Validator struct + func FromMap(data map[string]any, opts ...Option) *Validator + func FromStruct(target any, opts ...Option) *Validator + func New(opts ...Option) *Validator + func (v *Validator) Except(paths ...string) *Validator + func (v *Validator) Field(path string) *FieldBuilder + func (v *Validator) HasInternalErrors() bool + func (v *Validator) InternalErrors() []error + func (v *Validator) Only(paths ...string) *Validator + func (v *Validator) Validate() error + func (v *Validator) Warn(path string) *FieldBuilder + func (v *Validator) Warnings() []Error + type ValueResolver interface + Keys func() []string + Resolve func(path string) (value any, found bool)