Forms 如何显示细枝中的所有错误?

Forms 如何显示细枝中的所有错误?,forms,symfony,validation,twig,Forms,Symfony,Validation,Twig,我在Symfony 5中创建了一个表单,当验证错误时,我希望如果错误为真,在一个表单中显示所有错误,如下所示: 错误: 错误1 错误2 错误3 我使用: {% if form_errors(form)|length %} <div>Errors:</div> {{ form_errors(form) }} {% endif %} {%if form_errors(form)| length%} 错误: {{form_errors(form)}}

我在Symfony 5中创建了一个表单,当验证错误时,我希望如果错误为真,在一个表单中显示所有错误,如下所示: 错误:

  • 错误1
  • 错误2
  • 错误3
我使用:

{% if form_errors(form)|length %}
     <div>Errors:</div>
     {{ form_errors(form) }}
{% endif %}
{%if form_errors(form)| length%}
错误:
{{form_errors(form)}}
{%endif%}
但不是工作


如何在Twig中执行此操作?

您可以使用以下命令显示所有错误

{# 
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%}
{#
如果表格无效,则:
注意:在这种情况下,表单变量是:form
#}
{%如果不是form.vars.valid%}
    {#遍历每个表单项#} {form.children%} {#显示表单项的错误#} {child.vars.errors%中的错误为%0}
  • {{error.message}}
  • {%endfor%} {%endfor%}
{%endif%}
您可以在代码中使用此选项:

{% 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 %}
{%if not form.vars.valid%}
错误:
    {form.vars.errors.form.getErrors(true)%%中的错误为%
  • {{error.message}}
  • {%endfor%}
{%endif%}
| lenght
应为
| length
,除非您定义了自定义筛选器。谢谢,但请显示此错误:对于带键的数组,请键入“errors”“值、属性、表单、id、名称、全名、禁用、标签、标签格式、标签html、多部分、块前缀、唯一块前缀、行属性、翻译域、标签翻译参数、属性翻译参数、缓存键、单击”不存在。