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; }
/** * @param PhpEngine $view * @param $label * @param $required * @param $compound * @param $id * @param $name * @param $translation_domain * @param $label_attr * @param FormHelper $formHelper * @param TranslatorHelper $translatorHelper * @param null $label_format */ public function condition_label($view, $label, $required, $compound, $id, $name, $translation_domain, $label_attr, $formHelper, $translatorHelper, $label_format = null) { /** @var FormView $form */ ?> <?php if (false !== $label) { ?> <?php if ($required) { $label_attr['class'] = trim((isset($label_attr['class']) ? $label_attr['class'] : '') . ' required'); } ?> <?php if (!$compound) { $label_attr['for'] = $id; } ?> <?php if (!$label) { $label = !is_null($label_format) ? strtr($label_format, array('%name%' => $name, '%id%' => $id)) : $formHelper->humanize($name); } ?> <label <?php foreach ($label_attr as $k => $v) { printf('%s="%s" ', $view->escape($k), $view->escape($v)); } ?> ><?php echo $view->escape($translatorHelper->trans($label, array(), $translation_domain)); ?> : </label> <?php } ?> <?php }