7

您能帮我了解如何使用 Symfony2 自定义表单中的错误消息吗?我想更改 HTML 布局,添加 div、class 等...

阅读该指南,它提供了一段代码以放入一个名为的文件中,fields_errors.html.twig但它没有说明该文件的放置位置以及是否需要一些额外的配置。

有人可以帮助我吗?

4

3 回答 3

5

您必须将模板放在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) }}
 {# ..... #}

有关更多选项和实现参考检查表单主题食谱条目默认字段布局实现

于 2012-08-25T16:20:25.410 回答
1

您可以在模板中一次自定义所有错误消息:

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

或单独(例如,如果您的字段是标题

<div class="your_new_class">
    {{ form_errors(form.task) }}
</div>
于 2012-08-25T14:55:02.637 回答
1

在 symfony3 中首先调用 config.yml 中的主题形式

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

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 %}
于 2016-11-16T17:25:30.050 回答