// Package valid provides struct validation backed by [github.com/go-playground/validator/v10]. // // Create a validator with [New]: // // v := valid.New() // // Validate a struct: // // type CreateUserRequest struct { // Name string `validate:"required"` // Email string `validate:"required,email"` // Age int `validate:"min=18,max=120"` // } // // err := v.Struct(req) // if err != nil { // // err is a *xerrors.Err with code ErrInvalidInput. // // Use errors.As to inspect it. // } // // Use Spanish messages: // // v := valid.New(valid.WithMessageProvider(valid.SpanishMessages)) // // Use a custom message provider: // // type myMessages struct{} // func (m myMessages) Message(field, tag, param string) string { ... } // // v := valid.New(valid.WithMessageProvider(myMessages{})) package valid