Получить глобальные ошибки формы из FormView в шаблоне ветки - PullRequest
3 голосов
/ 09 августа 2011

Для отрисовки ошибок формы в шаблоне ветки, вам просто нужно использовать макрос ветки form_errors без разницы, если это глобальная ошибка формы или ошибка поля.

Но в моем случае, глобальная ошибкаошибка не отображается как ошибка поля, поэтому я не могу использовать макрос ветки form_errors для двух случаев.Я решил использовать макрос для ошибки поля и хотел бы получить глобальные ошибки формы из объекта Symfony\Component\Form\FormView.Цель состоит в том, чтобы перебрать глобальные ошибки в шаблоне ветки и отобразить их так, как я хочу.

На самом деле, я не нашел никаких ресурсов в документации по symfony2, которые могли бы мне помочь.

Ответы [ 3 ]

5 голосов
/ 10 августа 2011

Наконец-то я нашел решение сам.Для людей, которые хотят сделать то же самое, решение состоит в том, чтобы вызвать $formView->get("errors"), который дает вам массив FormError

3 голосов
/ 08 октября 2014

Я использую Symfony 2.5, и он отлично сработал для меня таким образом.

MyController

$error = new FormError(ErrorMessages::USER_NOT_AUTHENTICATED);
$form->addError($error);

MyView

{% for error in form.vars.errors %}
  <div class="alert alert-danger" role="alert">
    {{ error.messageTemplate|trans(error.messageParameters, 'validators')~'' }}
  </div>
{% endfor %}

надеюсь, это сэкономит кому-то время.

2 голосов
/ 11 июля 2013

в symfony 2.3 все методы доступа были удалены в пользу общедоступных свойств для повышения производительности.

$formView->get("errors");

теперь:

$formView->vars["errors"];

Посетите UPGRADE-2.1.md и дополнительную информацию см. в разделе «Амортизация».

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