diff --git a/binding/binding.go b/binding/binding.go index 81ac3fa5..cff06f88 100644 --- a/binding/binding.go +++ b/binding/binding.go @@ -199,6 +199,17 @@ func Validate(obj interface{}, parents ...string) error { return err } } + } else { + fieldType := field.Type.Kind() + if fieldType == reflect.Struct { + if reflect.DeepEqual(zero, fieldValue) { + continue + } + err := Validate(fieldValue, field.Name) + if err != nil { + return err + } + } } } case reflect.Slice: