Index: Classes/ViewHelpers/Form/AbstractFormFieldViewHelper.php =================================================================== --- Classes/ViewHelpers/Form/AbstractFormFieldViewHelper.php (revision 2598) +++ Classes/ViewHelpers/Form/AbstractFormFieldViewHelper.php (working copy) @@ -202,20 +202,34 @@ $errors = $this->controllerContext->getRequest()->getErrors(); $formObjectName = $this->viewHelperVariableContainer->get('Tx_Fluid_ViewHelpers_FormViewHelper', 'formObjectName'); $propertyName = $this->arguments['property']; + $propertyPath = explode('.', $propertyName); + $formErrors = array(); foreach ($errors as $error) { if ($error instanceof Tx_Extbase_Validation_PropertyError && $error->getPropertyName() === $formObjectName) { $formErrors = $error->getErrors(); - foreach ($formErrors as $formError) { - if ($formError instanceof Tx_Extbase_Validation_PropertyError && $formError->getPropertyName() === $propertyName) { - return $formError->getErrors(); + $level = 0; + foreach($propertyPath as $pathSegment) { + $subErrors = array(); + foreach ($formErrors as $formError) { + if ($formError instanceof Tx_Extbase_Validation_PropertyError && $formError->getPropertyName() == $pathSegment) { + $level++; + $subErrors = $formError->getErrors(); + continue; + } } + $formErrors = $subErrors; } + if($level == count($propertyPath)) { + return $formErrors; + } } } return array(); } + + /** * Renders a hidden field with the same name as the element, to make sure the empty value is submitted * in case nothing is selected. This is needed for checkbox and multiple select fields