您能帮我了解如何使用 Symfony2 自定义表单中的错误消息吗?我想更改 HTML 布局,添加 div、class 等...
阅读该指南,它提供了一段代码以放入一个名为的文件中,fields_errors.html.twig
但它没有说明该文件的放置位置以及是否需要一些额外的配置。
有人可以帮助我吗?
您能帮我了解如何使用 Symfony2 自定义表单中的错误消息吗?我想更改 HTML 布局,添加 div、class 等...
阅读该指南,它提供了一段代码以放入一个名为的文件中,fields_errors.html.twig
但它没有说明该文件的放置位置以及是否需要一些额外的配置。
有人可以帮助我吗?
您必须将模板放在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) }}
{# ..... #}
您可以在模板中一次自定义所有错误消息:
<div class="your_new_class">
{{ form_errors(form) }}
</div>
或单独(例如,如果您的字段是标题)
<div class="your_new_class">
{{ form_errors(form.task) }}
</div>
在 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 %}