Symfony2 получает доступ ко всем ошибкам формы без form_bubbling - PullRequest
7 голосов
/ 17 ноября 2011

Я хочу знать, возможно ли получить доступ ко всем ошибкам моей формы без использования form_bubbling, так как это дает ошибку родительскому и отдельным объектам, теряющим их ошибку ... Мне нужно, чтобы форма знала глобально, если есть ошибкичтобы отобразить глобальное сообщение «исправьте ошибки» и отдельные элементы, чтобы узнать, содержат ли они ошибки, потому что я добавлю CSS-класс с ошибками к неверным входам формы.

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 16 января 2012

Самый эффективный способ найти число ошибок формы, независимо от того, является ли она form_bubbling равной true или false, заключается в добавлении в контроллере некоторой переменной, указывающей ее:

return $this->render('Acme:Contrats:index.html.twig', array(
    'myform' => $form->createView(),
    'myformHasErrors' => !$form->isValid(),
));

Если кто-то найдет другой, пожалуйста, прокомментируйте / ответьте на него.

0 голосов
/ 18 декабря 2011

После общения с людьми на IRC-канале Symfony, существует два способа сделать это в шаблоне Twig:

  1. form.has('errors') для логического определения, содержит ли форма ошибки.
  2. form.vars.errors|length для количества ошибок, содержащихся в форме.

Проблема решена. Все это можно использовать без использования error_bubbling.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...