Skip to content

Commit d6546ee

Browse files
author
Dean Karn
authored
Merge pull request #484 from leafduo/v9
Make `required_without` work with pointer
2 parents 884d31b + 54db112 commit d6546ee

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

baked_in.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1308,7 +1308,11 @@ func hasValue(fl FieldLevel) bool {
13081308
func requireCheckFieldKind(fl FieldLevel, param string) bool {
13091309
field := fl.Field()
13101310
if len(param) > 0 {
1311-
field = fl.Parent().FieldByName(param)
1311+
if fl.Parent().Kind() == reflect.Ptr {
1312+
field = fl.Parent().Elem().FieldByName(param)
1313+
} else {
1314+
field = fl.Parent().FieldByName(param)
1315+
}
13121316
}
13131317
switch field.Kind() {
13141318
case reflect.Slice, reflect.Map, reflect.Ptr, reflect.Interface, reflect.Chan, reflect.Func:

validator_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8712,7 +8712,7 @@ func TestRequiredWithout(t *testing.T) {
87128712
Field5: "test",
87138713
}
87148714

8715-
errs = validate.Struct(test2)
8715+
errs = validate.Struct(&test2)
87168716

87178717
if errs == nil {
87188718
t.Fatalf("failed Error: %s", errs)

0 commit comments

Comments
 (0)