parent
a021b2ec9a
commit
946d444376
@ -0,0 +1,39 @@ |
||||
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" |
||||
} |
Loading…
Reference in new issue