1
0
mirror of https://github.com/astaxie/beego.git synced 2024-12-23 11:20:50 +00:00

Merge pull request #125 from miraclesu/valid

Change tag valid func default key
This commit is contained in:
astaxie 2013-08-06 08:22:56 -07:00
commit b191e96f51
2 changed files with 17 additions and 3 deletions

View File

@ -120,7 +120,7 @@ func getRegFuncs(tag, key string) (vfs []ValidFunc, str string, err error) {
if err != nil { if err != nil {
return return
} }
vfs = []ValidFunc{ValidFunc{"Match", []interface{}{reg, key}}} vfs = []ValidFunc{ValidFunc{"Match", []interface{}{reg, key + ".Match"}}}
str = strings.TrimSpace(tag[:index]) + strings.TrimSpace(tag[end+len("/)"):]) str = strings.TrimSpace(tag[:index]) + strings.TrimSpace(tag[end+len("/)"):])
return return
} }
@ -145,7 +145,7 @@ func parseFunc(vfunc, key string) (v ValidFunc, err error) {
err = fmt.Errorf("%s require %d parameters", vfunc, num) err = fmt.Errorf("%s require %d parameters", vfunc, num)
return return
} }
v = ValidFunc{vfunc, []interface{}{key}} v = ValidFunc{vfunc, []interface{}{key + "." + vfunc}}
return return
} }
@ -167,7 +167,7 @@ func parseFunc(vfunc, key string) (v ValidFunc, err error) {
return return
} }
tParams, err := trim(name, key, params) tParams, err := trim(name, key+"."+name, params)
if err != nil { if err != nil {
return return
} }

View File

@ -298,6 +298,7 @@ func TestValid(t *testing.T) {
} }
uptr := &user{Name: "test", Age: 40} uptr := &user{Name: "test", Age: 40}
valid.Clear()
b, err = valid.Valid(uptr) b, err = valid.Valid(uptr)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
@ -305,8 +306,15 @@ func TestValid(t *testing.T) {
if b { if b {
t.Error("validation should not be passed") t.Error("validation should not be passed")
} }
if len(valid.Errors) != 1 {
t.Fatalf("valid errors len should be 1 but got %d", len(valid.Errors))
}
if valid.Errors[0].Key != "Name.Match" {
t.Errorf("Message key should be `Name.Match` but got %s", valid.Errors[0].Key)
}
u = user{Name: "test@/test/;com", Age: 180} u = user{Name: "test@/test/;com", Age: 180}
valid.Clear()
b, err = valid.Valid(u) b, err = valid.Valid(u)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
@ -314,4 +322,10 @@ func TestValid(t *testing.T) {
if b { if b {
t.Error("validation should not be passed") t.Error("validation should not be passed")
} }
if len(valid.Errors) != 1 {
t.Fatalf("valid errors len should be 1 but got %d", len(valid.Errors))
}
if valid.Errors[0].Key != "Age.Range" {
t.Errorf("Message key should be `Name.Match` but got %s", valid.Errors[0].Key)
}
} }