Symfony2的定制形式的错误信息(Symfony2 customize form error m

2019-07-31 04:54发布

可以请你帮助我了解如何与Symfony2的形式自定义错误消息? 我想改变HTML布局,添加的div类,等...

阅读指导,它提供了一段代码放在一个文件名为fields_errors.html.twig但它并没有告诉在哪里把这个文件,如果需要一些额外的配置。

有人可以帮我吗?

Answer 1:

你必须把模板Resourses/views/捆绑软件的文件夹中。 例如,

{# Vendor/YourBundle/Resourses/views/form_fields.html.twig #}

{% extends 'form_div_layout.html.twig' %}

{% block form_errors %}
    {# your form error template #}
{% endblock form_errors %}

{# other customized blocks #}

然后在你的表单页面模板,

{% extends your:page:layout %}

{% form_theme form  'VendorYourBundle::form_fields.html.twig' %}

 {{ form_errors(form.field) }}
 {# ..... #}

欲了解更多的选择和实施背景调查表格主题的食谱录入和默认领域的布局实现



Answer 2:

您可以自定义在您的模板,一旦所有的错误信息:

<div class="your_new_class">
    {{ form_errors(form) }}
</div>

或单独(如果你的领域是例如标题

<div class="your_new_class">
    {{ form_errors(form.task) }}
</div>


Answer 3:

在config.yml symfony3首次呼叫日主题形式

twig:
debug:            "%kernel.debug%"
strict_variables: "%kernel.debug%"
form_themes: 
    - 'YourBundle:FormTheme:error.html.twig'

嫩枝error.html.twig例子

{% block form_errors %}
{% spaceless %}
    {% if errors|length > 0 %}
   <div class="alert alert-danger">
        {% for error in errors %}
     <strong>{{ error.message }}</strong>
        {% endfor %}
    </div>
    {% endif %}
{% endspaceless %}
{% endblock form_errors %}


文章来源: Symfony2 customize form error messages