自定义Symfony/Twig表单主题,如何检测;“全球”;错误?

自定义Symfony/Twig表单主题,如何检测;“全球”;错误?,symfony,twig,Symfony,Twig,我需要自定义Twig中的错误渲染。我的主题扩展了form\u div\u layout.html.twig,块控制错误呈现为: {% block form_errors %} {% spaceless %} {% if errors|length > 0 %} <ul> {% for error in errors %} <li>{{ error.message }}</li> {%

我需要自定义Twig中的错误渲染。我的主题扩展了
form\u div\u layout.html.twig
,块控制错误呈现为:

{% block form_errors %}
{% spaceless %}
    {% if errors|length > 0 %}
    <ul>
        {% for error in errors %}
            <li>{{ error.message }}</li>
        {% endfor %}
    </ul>
    {% endif %}
{% endspaceless %}
{% endblock form_errors %}
{%block form\u errors%}
{%spaceless%}
{%如果错误|长度>0%}
    {错误%中的错误为%0}
  • {{error.message}}
  • {%endfor%}
{%endif%} {%endspaceless%} {%endblock form_errors%}

如何区分字段错误和“全局”表单错误?我的意思是区分
name
字段中的错误和
token
CSFR错误。

您不能,但可以在行中使用errors变量或键入block twig

(来自我自己代码的示例)

{%block form_row%}
{{form_errors(form)}}
{{form_label(form,label,{'label_attr':{'class':'control label'}}}}}
{{form_widget(form)}
{%endblock form_row%}
{% block form_row %}
    <div class="control-group {% if errors %}alert alert-danger{% endif %}">
        {{ form_errors(form) }}
        {{ form_label(form, label, { 'label_attr': {'class': 'control-label'} }) }}
        <div class="controls">
            {{ form_widget(form) }}
        </div>
    </div>
{% endblock form_row %}