Documentation
¶
Overview ¶
Package validation provides input validation utilities for gokit handlers.
It supports both struct tag validation (using the validator library) and programmatic validation with error collection. Struct tag validation is recommended for command/query handlers.
Struct Tag Validation ¶
type CreateUserCmd struct {
Name string `validate:"required,min=2"`
Email string `validate:"required,email"`
}
err := validation.ValidateStruct(cmd)
Programmatic Validation ¶
v := validation.New() v.Check(name != "", "name", "name is required") err := v.Error()
Index ¶
- func Required(field, value string) error
- func Validate(s any) error
- func ValidateUUID(field, value string) (uuid.UUID, error)
- type FieldError
- type Validator
- func (v *Validator) AddError(field, message string)
- func (v *Validator) Custom(condition bool, field, message string) *Validator
- func (v *Validator) Errors() []FieldError
- func (v *Validator) HasErrors() bool
- func (v *Validator) Max(field string, value, maxVal int) *Validator
- func (v *Validator) MaxLength(field, value string, maxLen int) *Validator
- func (v *Validator) Min(field string, value, minVal int) *Validator
- func (v *Validator) MinLength(field, value string, minLen int) *Validator
- func (v *Validator) OneOf(field, value string, allowed []string) *Validator
- func (v *Validator) OptionalUUID(field, value string) *Validator
- func (v *Validator) Pattern(field, value, pattern string) *Validator
- func (v *Validator) Range(field string, value, minVal, maxVal int) *Validator
- func (v *Validator) Required(field, value string) *Validator
- func (v *Validator) RequiredUUID(field, value string) *Validator
- func (v *Validator) Validate() *errors.AppError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type FieldError ¶
FieldError represents a validation error for a specific field.
type Validator ¶
type Validator struct {
// contains filtered or unexported fields
}
Validator collects validation errors.
func (*Validator) Errors ¶
func (v *Validator) Errors() []FieldError
Errors returns all validation errors.
func (*Validator) OptionalUUID ¶
OptionalUUID checks if a non-empty string is a valid UUID.
func (*Validator) RequiredUUID ¶
RequiredUUID checks if a string is a valid non-nil UUID.
Click to show internal directories.
Click to hide internal directories.