【发布时间】:2013-07-09 05:31:39
【问题描述】:
我正在尝试为表单字段错误呈现定义一个特定的新块,保持 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 提到here,但我没有更幸运。
有什么想法吗?
【问题讨论】:
标签: symfony twig symfony-2.1 symfony-forms