6 "gopkg.in/go-playground/validator.v9"
10 type MyStruct struct {
11 String string `validate:"is-awesome"`
14 // use a single instance of Validate, it caches struct info
15 var validate *validator.Validate
19 validate = validator.New()
20 validate.RegisterValidation("is-awesome", ValidateMyVal)
22 s := MyStruct{String: "awesome"}
24 err := validate.Struct(s)
26 fmt.Printf("Err(s):\n%+v\n", err)
29 s.String = "not awesome"
30 err = validate.Struct(s)
32 fmt.Printf("Err(s):\n%+v\n", err)
36 // ValidateMyVal implements validator.Func
37 func ValidateMyVal(fl validator.FieldLevel) bool {
38 return fl.Field().String() == "awesome"