diff --git a/baked_in.go b/baked_in.go index f2f0939..482c446 100644 --- a/baked_in.go +++ b/baked_in.go @@ -1617,7 +1617,7 @@ func excludedUnless(fl FieldLevel) bool { panic(fmt.Sprintf("Bad param number for excluded_unless %s", fl.FieldName())) } for i := 0; i < len(params); i += 2 { - if !requireCheckFieldValue(fl, params[i], params[i+1], false) { + if requireCheckFieldValue(fl, params[i], params[i+1], false) { return true } } diff --git a/validator_test.go b/validator_test.go index 1ebdea5..08bacf9 100644 --- a/validator_test.go +++ b/validator_test.go @@ -11137,7 +11137,7 @@ func TestExcludedUnless(t *testing.T) { FieldE string `validate:"omitempty" json:"field_e"` FieldER string `validate:"excluded_unless=FieldE test" json:"field_er"` }{ - FieldE: "notest", + FieldE: "test", FieldER: "filled", } errs := validate.Struct(test) @@ -11147,7 +11147,7 @@ func TestExcludedUnless(t *testing.T) { FieldE string `validate:"omitempty" json:"field_e"` FieldER string `validate:"excluded_unless=FieldE test" json:"field_er"` }{ - FieldE: "test", + FieldE: "notest", FieldER: "filled", } errs = validate.Struct(test2) @@ -11156,7 +11156,7 @@ func TestExcludedUnless(t *testing.T) { Equal(t, len(ve), 1) AssertError(t, errs, "FieldER", "FieldER", "FieldER", "FieldER", "excluded_unless") - shouldError := "test" + shouldError := "notest" test3 := struct { Inner *Inner Field1 string `validate:"excluded_unless=Inner.Field test" json:"field_1"` @@ -11170,7 +11170,7 @@ func TestExcludedUnless(t *testing.T) { Equal(t, len(ve), 1) AssertError(t, errs, "Field1", "Field1", "Field1", "Field1", "excluded_unless") - shouldPass := "shouldPass" + shouldPass := "test" test4 := struct { Inner *Inner FieldE string `validate:"omitempty" json:"field_e"` @@ -12264,25 +12264,25 @@ func TestCreditCardFormatValidation(t *testing.T) { } func TestMultiOrOperatorGroup(t *testing.T) { - tests := []struct { - Value int `validate:"eq=1|gte=5,eq=1|lt=7"` - expected bool - }{ - {1, true}, {2, false}, {5, true}, {6, true}, {8, false}, - } - - validate := New() - - for i, test := range tests { - errs := validate.Struct(test) - if test.expected { - if !IsEqual(errs, nil) { - t.Fatalf("Index: %d multi_group_of_OR_operators failed Error: %s", i, errs) - } - } else { - if IsEqual(errs, nil) { - t.Fatalf("Index: %d multi_group_of_OR_operators should have errs", i) - } - } - } - } + tests := []struct { + Value int `validate:"eq=1|gte=5,eq=1|lt=7"` + expected bool + }{ + {1, true}, {2, false}, {5, true}, {6, true}, {8, false}, + } + + validate := New() + + for i, test := range tests { + errs := validate.Struct(test) + if test.expected { + if !IsEqual(errs, nil) { + t.Fatalf("Index: %d multi_group_of_OR_operators failed Error: %s", i, errs) + } + } else { + if IsEqual(errs, nil) { + t.Fatalf("Index: %d multi_group_of_OR_operators should have errs", i) + } + } + } +}