/** * * @return array */ public function getAssociatedErrors() { $errors = array(); foreach ($this->form->all() as $property => $child) { /* @var $child Form */ $e = array(); foreach ($child->getErrors() as $error) { $e[] = $error->getMessage(); } if (count($e) > 0) { $errors[$property] = $e; } if (count($child->all()) > 0) { $form = new self($child); $subErrors = $form->getAssociatedErrors(); if (count($subErrors)) { $subformIndex = $property; $errors[$subformIndex] = $form->getAssociatedErrors(); } } } if (count($this->form->getErrors())) { foreach ($this->form->getErrors() as $error) { /* @var $error FormError */ $errors['_form'][] = $error->getMessage(); } } return $errors; }