Skip to content

Commit 54db112

Browse files
committed
Make required_without work with pointer
Fix #483, #473
1 parent 884d31b commit 54db112

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)