diff --git a/validation/validation_test.go b/validation/validation_test.go index be63ac93..0727fda4 100644 --- a/validation/validation_test.go +++ b/validation/validation_test.go @@ -26,6 +26,12 @@ func TestRequired(t *testing.T) { if valid.Required(nil, "nil").Ok { t.Error("nil object should be false") } + if !valid.Required(true, "bool").Ok { + t.Error("Bool value should always return true") + } + if !valid.Required(false, "bool").Ok { + t.Error("Bool value should always return true") + } if valid.Required("", "string").Ok { t.Error("\"'\" string should be false") } diff --git a/validation/validators.go b/validation/validators.go index 25415bdd..725b1f7a 100644 --- a/validation/validators.go +++ b/validation/validators.go @@ -64,8 +64,8 @@ func (r Required) IsSatisfied(obj interface{}) bool { if str, ok := obj.(string); ok { return len(str) > 0 } - if b, ok := obj.(bool); ok { - return b + if _, ok := obj.(bool); ok { + return true } if i, ok := obj.(int); ok { return i != 0