1
0
mirror of https://github.com/astaxie/beego.git synced 2024-12-22 19:50:49 +00:00

Change tag valid func default key

This commit is contained in:
miraclesu 2013-08-06 23:15:20 +08:00
parent 2fa534ff26
commit 97d99fcef2
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 {
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("/)"):])
return
}
@ -145,7 +145,7 @@ func parseFunc(vfunc, key string) (v ValidFunc, err error) {
err = fmt.Errorf("%s require %d parameters", vfunc, num)
return
}
v = ValidFunc{vfunc, []interface{}{key}}
v = ValidFunc{vfunc, []interface{}{key + "." + vfunc}}
return
}
@ -167,7 +167,7 @@ func parseFunc(vfunc, key string) (v ValidFunc, err error) {
return
}
tParams, err := trim(name, key, params)
tParams, err := trim(name, key+"."+name, params)
if err != nil {
return
}

View File

@ -298,6 +298,7 @@ func TestValid(t *testing.T) {
}
uptr := &user{Name: "test", Age: 40}
valid.Clear()
b, err = valid.Valid(uptr)
if err != nil {
t.Fatal(err)
@ -305,8 +306,15 @@ func TestValid(t *testing.T) {
if b {
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}
valid.Clear()
b, err = valid.Valid(u)
if err != nil {
t.Fatal(err)
@ -314,4 +322,10 @@ func TestValid(t *testing.T) {
if b {
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)
}
}