#forms #symfony #validation #twig
Вопрос:
Я создаю форму в Symfony 5, и когда проверка ошибочна, я хочу, чтобы, если ошибки верны, показать все ошибки в одной, например: Ошибки:
- ошибка 1
- ошибка 2
- ошибка 3 …
Я использую :
{% if form_errors(form)|length %}
<div>Errors:</div>
{{ form_errors(form) }}
{% endif %}
но не на работе.
Как я могу сделать это в Twig?
Комментарии:
1.
|lenght
должно быть|length
, если вы не определили пользовательский фильтр.
Ответ №1:
Вы можете использовать это в своих кодах:
{% if not form.vars.valid %}
<div>Errors:</div>
<ul>
{% for error in form.vars.errors.form.getErrors(true) %}
<li>{{ error.message }}</li>
{% endfor %}
</ul>
{% endif %}
Ответ №2:
Вы отображаете все ошибки, используя приведенные ниже
{#
If the form is not valid then :
Note: in this case the form variable is : form
#}
{% if not form.vars.valid %}
<ul>
{# Loop through every form item #}
{% for child in form.children %}
{# Display the errors of the form item #}
{%for error in child.vars.errors%}
<li>{{error.message}}</li>
{%endfor%}
{%endfor%}
</ul>
{%endif%}
Комментарии:
1. Спасибо, но покажите эту ошибку: Ключ «ошибки» для массива с ключами «значение, attr, форма, идентификатор, имя, полное имя, отключено, метка, label_format, label_html, составная часть, исправления блоков, исправление unique_block_prefix, row_attr, домен_данных, label_translation_parameters, attr_translation_parameters, ключ cache_key, нажата» не существует.