Merge pull request #2365 from chesedo/RequiredValidationCatchSpaces

[WIP]Have Required validator trim strings to fix #2361
This commit is contained in:
astaxie 2017-05-18 22:44:15 +08:00 committed by GitHub
commit 388a5610fa
2 changed files with 8 additions and 1 deletions

View File

@ -35,6 +35,12 @@ func TestRequired(t *testing.T) {
if valid.Required("", "string").Ok {
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 {
t.Error("string should be true")
}

View File

@ -18,6 +18,7 @@ import (
"fmt"
"reflect"
"regexp"
"strings"
"time"
"unicode/utf8"
)
@ -98,7 +99,7 @@ func (r Required) IsSatisfied(obj interface{}) bool {
}
if str, ok := obj.(string); ok {
return len(str) > 0
return len(strings.TrimSpace(str)) > 0
}
if _, ok := obj.(bool); ok {
return true