1
0
mirror of https://github.com/astaxie/beego.git synced 2024-11-25 18:00:54 +00:00

Add custom validation function doc

This commit is contained in:
miraclesu 2016-01-07 22:55:12 +08:00
parent 103ac3ee5b
commit 21f767784b

View File

@ -63,7 +63,48 @@ Struct Tag Use:
} }
func main() { func main() {
valid := Validation{} valid := validation.Validation{}
u := user{Name: "test", Age: 40}
b, err := valid.Valid(u)
if err != nil {
// handle error
}
if !b {
// validation does not pass
// blabla...
}
}
Use custom function:
import (
"github.com/astaxie/beego/validation"
)
type user struct {
Id int
Name string `valid:"Required;IsMe"`
Age int `valid:"Required;Range(1, 140)"`
}
func IsMe(v *validation.Validation, obj interface{}, key string) {
name, ok:= obj.(string)
if !ok {
// wrong use case?
return
}
if name != "me" {
// valid false
v.SetError("Name", "is not me!")
}
}
func main() {
valid := validation.Validation{}
if err := validation.AddCustomFunc("IsMe", IsMe); err != nil {
// hadle error
}
u := user{Name: "test", Age: 40} u := user{Name: "test", Age: 40}
b, err := valid.Valid(u) b, err := valid.Valid(u)
if err != nil { if err != nil {