32 lines
826 B
Go
32 lines
826 B
Go
|
|
// 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
|