private function getFormErrorMessages(Form $form) { $errors = []; foreach ($form->getErrors() as $key => $error) { if ($form->isRoot()) { $errors['#root'][] = $error->getMessage(); } else { $errors[] = $error->getMessage(); } } foreach ($form->all() as $child) { if (!$child->isValid()) { $errors[$child->getName()] = $this->getFormErrorMessages($child); } } return $errors; }
private function getErrorMessages(\Symfony\Component\Form\Form $form) { $errors = array(); foreach ($form->getErrors() as $key => $error) { if ($form->isRoot()) { $errors['#'][] = $error->getMessage(); } else { $errors[] = $error->getMessage(); } } foreach ($form->all() as $child) { if (!$child->isValid()) { $errors[$child->getName()] = $this->getErrorMessages($child); } } return $errors; }
/** * This method comes from Flip's answer on Stackoverflow: * http://stackoverflow.com/a/17428869/731138 * * @param Form $form * @return array */ protected function getErrorMessages(Form $form) { $errors = array(); foreach ($form->getErrors() as $error) { if ($form->isRoot()) { $errors['#'][] = $error->getMessage(); } else { $errors[] = $error->getMessage(); } } foreach ($form->all() as $child) { if (!$child->isValid()) { $errors[$child->getName()] = $this->getErrorMessages($child); } } return $errors; }
/** * @param Form $form * @return array */ protected function getErrorMessages(Form $form) { $errors = []; foreach ($form->getErrors() as $key => $error) { if ($form->isRoot()) { $errors[] = $this->toErrorArray($error); } else { $errors[] = $this->toErrorArray($error, $form); } } foreach ($form->all() as $child) { if (!$child->isValid()) { foreach ($this->getErrorMessages($child) as $error) { $errors[] = $error; } } } return $errors; }
public function getFormErrorMessagesWithLabels(Form $form, FormHelper $formHelper) { $errors = array(); foreach ($form->getErrors() as $key => $error) { if ($form->isRoot()) { $errors['#'][] = $error->getMessage(); } else { $errors[] = $error->getMessage(); } } foreach ($form->all() as $child) { if (!$child->isValid()) { $label = $child->getConfig()->getOption('label'); if (!$label) { $label = $formHelper->humanize($child->getName()); } $errors[$label] = $this->getFormErrorMessagesWithLabels($child, $formHelper); } } return $errors; }
public static function getErrorMessages(\Symfony\Component\Form\Form $form) { $errors = array(); foreach ($form->getErrors() as $key => $error) { if ($form->isRoot()) { $errors['#'][] = $error->getMessage(); } else { $errors[] = $error->getMessage(); } } foreach ($form->all() as $child) { if (!$child->isValid()) { $err = self::getErrorMessages($child); if (!empty($err)) { $errors[$child->getName()] = $err; } } } $checkError = current($errors); if (!empty($checkError)) { return $errors; } else { return; } }
/** * Dado un formulario se devuelven sus errores parseados * @param Form $form * @param bool $deep option for Form getErrors method * @param bool $flatten option for Form getErrors method * @return array */ public function getFormErrors(Form $form, $deep = false, $flatten = true) { // Se parsean los errores que existan en el formulario para devolverlos en el reponse $errors = array(); //Se parsean los posibles errores generales del formulario(incluyendo los asserts a nivel de entidad) foreach ($form->getErrors($deep, $flatten) as $key => $error) { if ($form->isRoot()) { $errors['form'][] = $error->getMessage(); } else { $errors[] = $error->getMessage(); } } $childs = $form->getIterator(); //Se parsean los posibles errores de cada campo del formulario /** @var Form $child */ foreach ($childs as $child) { $fieldErrors = $child->getErrors(); while ($fieldErrors->current() != null) { $errors[$child->getName()][] = $fieldErrors->current()->getMessage(); $fieldErrors->next(); } } return $errors; }