123456789101112131415161718192021222324252627282930313233343536373839 |
- package main
- import (
- "fmt"
- "gopkg.in/go-playground/validator.v9"
- )
- // MyStruct ..
- type MyStruct struct {
- String string `validate:"is-awesome"`
- }
- // use a single instance of Validate, it caches struct info
- var validate *validator.Validate
- func main() {
- validate = validator.New()
- validate.RegisterValidation("is-awesome", ValidateMyVal)
- s := MyStruct{String: "awesome"}
- err := validate.Struct(s)
- if err != nil {
- fmt.Printf("Err(s):\n%+v\n", err)
- }
- s.String = "not awesome"
- err = validate.Struct(s)
- if err != nil {
- fmt.Printf("Err(s):\n%+v\n", err)
- }
- }
- // ValidateMyVal implements validator.Func
- func ValidateMyVal(fl validator.FieldLevel) bool {
- return fl.Field().String() == "awesome"
- }
|