我正在尝试为表单字段错误渲染定义一个特定的新块,保持 form_errors 不变以进行常见错误渲染。
# Twig Configuration
twig:
debug: %kernel.debug%
strict_variables: %kernel.debug%
form:
resources:
- 'ApplicationMyBundle:Main:form/customFormTheme.html.twig'
在customFormTheme.html.twig
我覆盖复制的几个块中,form_div_layout.html.twig
我添加了以下新块。
{% block field_errors %}{% spaceless %}
{% if errors|length > 0 %}
<ul class="errors">
{% for error in errors %}
{% if error.messageTemplate|length %}
<li class="error">{{ error.messageTemplate|trans(error.messageParameters, 'validators') }}</li>
{% endif %}
{% endfor %}
</ul>
{% endif %}
{% endspaceless %}{% endblock %}
然后我希望能够在我的视图中使用这个块,如下所示:
<div>
{{ form_label(form.message, 'message.label'|trans({},'contact')|raw ) }}
{{ form_widget(form.message, {attr: {maxlength:1000, size:1000, rows:8}}) }}
{{ field_errors(form.message) }}
</div>
但我收到以下错误:
The function "field_errors" does not exist. Did you mean "form_errors"
我也尝试通过命名我的块text_errors
或在此处textarea_errors
提到,但我并没有更幸运。
任何想法 ?