Validator
A lightweight model validator written in Go.Contains VFs:Min, Max, MinLength, MaxLength, Length, Enum, Regex
About Validator
validator
A lightweight model validator written in Go.
Features
- Supports multiple language.
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())
}
Custom validation implementation
package main
import (
"fmt"
v "github.com/go-the-way/validator"
"reflect"
)
func main() {
v.Custom("mycustom", func(value reflect.Value) (bool, string) { return false, "mycustom validation." })
vv := v.New(&struct {
Name string `validate:"custom(mycustom)"`
}{}).Validate()
fmt.Println(vv.Passed)
fmt.Println(vv.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 | (*)string, (*)Array[(*)string], (*)Slice[(*)string] | validate:"length(N,invalid)" | (*)string: Value's Len must be == N(*)Array[(*)string] or (*)Slice[(*)string]: Every Value's Len must be == N |
| ArrLength | (*)Array[(*)Any], (*)Slice[(*)Any] | validate:"arr_length(N,invalid)" | (*)Array[(*)Any] or (*)Slice[(*)Any]: Array or Slice's Len must be == N |
| MinLength | (*)string, (*)Array[(*)string], (*)Slice[(*)string] | validate:"minlength(N,invalid)" | (*)string: Value's Len must be >= N(*)Array[(*)string] or (*)Slice[(*)string]: Every Value's Len must be >= N |
| ArrMinLength | (*)Array[(*)Any], (*)Slice[(*)Any] | validate:"arr_minlength(N,invalid)" | (*)Array[(*)Any] or (*)Slice[(*)Any]: Array or Slice's Len must be >= N |
| MaxLength | (*)string, (*)Array[(*)string], (*)Slice[(*)string] | validate:"maxlength(N,invalid)" | (*)string: Value's Len must be <= N(*)Array[(*)string] or (*)Slice[(*)string]: Every Value's Len must be <= N |
| ArrMaxLength | (*)Array[(*)Any], (*)Slice[(*)Any] | validate:"arr_maxlength(N,invalid)" | (*)Array[(*)Any] or (*)Slice[(*)Any]: Array or Slice'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 |
| Valid | *struct{} | validate:"valid(T,invalid)" | Value must be not nil |
| Custom | any | validate:"custom(CUSTOM)" | CUSTOM validation |
Frequently Asked Questions
What is Validator?
Validator is a Validation library for the Go programming language. A lightweight model validator written in Go.Contains VFs:Min, Max, MinLength, MaxLength, Length, Enum, Regex
How do I install Validator?
Install Validator with the Go module system using `go get go-the-way/validator`. Check the repository for the current installation instructions.
What category does Validator belong to?
Validator is listed under Validation, specifically Validation.