validator
A lightweight model validator written in Go.
quickstart
package main
import (
"fmt"
v "github.com/go-the-way/validator"
)
func main() {
result := v.New(&struct {
int `validate:"min(10,fail)"`
}{}).Validate()
fmt.Println(result.Passed)
fmt.Println(result.Messages())
}
Validators
Name | Support | Example | Description |
---|---|---|---|
Min | ([])(*)uint{8,64} , ([])(*)int{8,64} , ([])(*)float{32,64} |
validate:"min(N,invalid)" | Every value must be >= N |
Max | ([])(*)uint{8,64} , ([])(*)int{8,64} , ([])(*)float{32,64} |
validate:"max(N,invalid)" | Every value must be <= N |
Length | Array[Any] , Slice[Any] , string , Array[string] , Slice[string] |
validate:"length(N,invalid)" | Array[Any] or Slice[Any] : Array or Slice's Len must be == N string : Value's Len must be == N Array[string] or Slice[string] : Every Value's Len must be == N |
MinLength | Array[Any] , Slice[Any] , string , Array[string] , Slice[string] |
validate:"minlength(N,invalid)" | Array[Any] or Slice[Any] : Array or Slice's Len must be >= N string : Value's Len must be >= N Array[string] or Slice[string] : Every Value's Len must be >= N |
MaxLength | Array[Any] , Slice[Any] , string , Array[string] , Slice[string] |
validate:"maxlength(N,invalid)" | Array[Any] or Slice[Any] : Array or Slice's Len must be <= N string : Value's Len must be <= N Array[string] or Slice[string] : Every Value's Len must be <= N |
Enum | ([])(*)uint{8,64} , ([])(*)int{8,64} , ([])(*)float{32,64} , ([])(*)string |
validate:"enum(O,invalid)" | Every value must be one of O |
Regex | ([])(*)string |
validate:"regex(RE,invalid)" | Every value must be match RE |