Documentation
¶
Overview ¶
Package validation provides immutable, source-safe application validation errors for generated form and controller boundaries.
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Errors ¶
type Errors struct {
// contains filtered or unexported fields
}
Errors is an immutable ordered validation result.
func Validate ¶
Validate applies validators in caller order and returns their immutable violations in the same order. It stops on cancellation, an operational error, or the package violation limit.
Example ¶
positive := ValidatorFunc[int](func(
_ context.Context,
value int,
) (Errors, error) {
if value > 0 {
return Errors{}, nil
}
violation, err := Object("positive", "Value must be positive")
if err != nil {
return Errors{}, err
}
return New(violation)
})
result, err := Validate(context.Background(), 0, positive)
if err != nil {
fmt.Println("validation failed")
return
}
fmt.Println(result.All()[0].Code)
Output: positive
type Validator ¶
Validator performs layer-neutral validation for one exact Go type. Validation failures belong in Errors; returned error values identify operational failures such as cancellation or unavailable dependencies.
type ValidatorFunc ¶
ValidatorFunc adapts an ordinary typed function to Validator.