Symfony2 form_errors [英] Symfony2 form_errors
问题描述
我认为这是一个简单的问题.它关于输出错误.这是我的树枝文件:
I think its a simple question. Its about outputting errors. This is my twig file:
<table>
<tr>
<td>{{ form_label(form.dueDate) }}</td>
<td>{{ form_widget(form.dueDate) }}</td>
<td>{{ form_errors(form.dueDate) }}</td>
</tr>
<tr>
<td>{{ form_label(form.task) }}</td>
<td>{{ form_widget(form.task) }}</td>
<td>{{ form_errors(form.task) }}</td>
</tr>
</table>
现在每个错误显示(td with form_errors())为:
Now each error displays (td with form_errors()) as:
- 此值不应为空
我的问题是:我想将错误输出为纯文本(没有 ul 和 li).
我知道有一个这样的例子:
I know there is an example like this:
{% for error in errors %}
{{ error.message }}
{% endfor %}
但这会一个接一个地输出错误.我想在特定输入处显示它们:
But this will output errors one after another. I want to display them where specific input is:
< td>{{ myErrorFor form.dueDate }}< /td>
非常感谢您的帮助
推荐答案
您可以通过使用 field_errors
块提供自己的表单主题来自定义表单错误的呈现方式.
You can customize how form errors render by providing your own form theme with a field_errors
block.
您可以仅对当前模板执行此操作:
You can do this for just the current template:
{# tell the form to look for theme blocks in the current template #}
{% form_theme form _self %}
{% block field_errors %}
{% for error in errors %}
{{ error.messageTemplate|trans(error.messageParameters, 'validators') }}<br>
{% endfor %}
{% endblock %}
{# the rest of your template... #}
或者通过在 config.yml
中定义一个全局表单主题:
Or by defining a global form theme in config.yml
:
twig:
form: { resource: "::form_theme.html.twig" }
在这种情况下,您需要将上面的 field_errors
块移动到 app/Resources/views/form_theme.html.twig
和 form_theme
> 标签不再需要.
In this case you would want to move the field_errors
block above to app/Resources/views/form_theme.html.twig
and the form_theme
tag is no longer necessary.
这篇关于Symfony2 form_errors的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!