mirror of
https://github.com/astaxie/beego.git
synced 2024-11-25 20:10:56 +00:00
Have Required validator trim strings to fix #2361
This will cause the Required validator not to consider fields that has only spaces or new lines to be regarded as valid. This is done by checking if the trimmed version of the string is valid.
This commit is contained in:
parent
90999717dd
commit
a8a2dffc59
@ -35,6 +35,12 @@ func TestRequired(t *testing.T) {
|
|||||||
if valid.Required("", "string").Ok {
|
if valid.Required("", "string").Ok {
|
||||||
t.Error("\"'\" string should be false")
|
t.Error("\"'\" string should be false")
|
||||||
}
|
}
|
||||||
|
if valid.Required(" ", "string").Ok {
|
||||||
|
t.Error("\" \" string should be false") // For #2361
|
||||||
|
}
|
||||||
|
if valid.Required("\n", "string").Ok {
|
||||||
|
t.Error("new line string should be false") // For #2361
|
||||||
|
}
|
||||||
if !valid.Required("astaxie", "string").Ok {
|
if !valid.Required("astaxie", "string").Ok {
|
||||||
t.Error("string should be true")
|
t.Error("string should be true")
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"reflect"
|
"reflect"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
"unicode/utf8"
|
"unicode/utf8"
|
||||||
)
|
)
|
||||||
@ -98,7 +99,7 @@ func (r Required) IsSatisfied(obj interface{}) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if str, ok := obj.(string); ok {
|
if str, ok := obj.(string); ok {
|
||||||
return len(str) > 0
|
return len(strings.TrimSpace(str)) > 0
|
||||||
}
|
}
|
||||||
if _, ok := obj.(bool); ok {
|
if _, ok := obj.(bool); ok {
|
||||||
return true
|
return true
|
||||||
|
Loading…
Reference in New Issue
Block a user