in code/go/internal/validator/semantic/types.go [140:158]
func validateNestedFields(parent string, metadata fieldFileMetadata, fields fields, validate validateFunc) specerrors.ValidationErrors {
var result specerrors.ValidationErrors
for _, field := range fields {
if len(parent) > 0 {
field.Name = parent + "." + field.Name
}
errs := validate(metadata, field)
if len(errs) > 0 {
result = append(result, errs...)
}
if len(field.Fields) > 0 {
errs := validateNestedFields(field.Name, metadata, field.Fields, validate)
if len(errs) > 0 {
result = append(result, errs...)
}
}
}
return result
}