Forms 如何在一个位置显示所有表单错误
我看到过关于同一问题的各种帖子,但没有什么对我有用 这是我的表格Forms 如何在一个位置显示所有表单错误,forms,symfony,error-handling,Forms,Symfony,Error Handling,我看到过关于同一问题的各种帖子,但没有什么对我有用 这是我的表格 <form action="" method="post" {{ form_enctype(form) }} novalidate> {{ form_errors(form) }} <div class="login_field"> {{ form_label(form.name) }} {{ form_widget(form.name) }}
<form action="" method="post" {{ form_enctype(form) }} novalidate>
{{ form_errors(form) }}
<div class="login_field">
{{ form_label(form.name) }}
{{ form_widget(form.name) }}
</div>
<div class="clear"></div>
<div class="login_field">
{{ form_label(form.status) }}
{{ form_widget(form.status) }}
</div>
<div class="login_field">
<label> </label>
<input type="submit" value="Create" class="submit_btn" />
</div>
</form>
{{form_errors(form)}}
{{form_标签(form.name)}
{{form_小部件(form.name)}
{{form_标签(form.status)}
{{form_小部件(form.status)}
根本不显示错误。我如何摆脱这个问题?您必须为每个字段包含
表单错误
<div class="login_field">
{{ form_errors(form.name) }}
{{ form_label(form.name) }}
{{ form_widget(form.name) }}
</div>
。。。或者使用FormType类中表单字段的选项,让表单错误冒泡到顶部。这意味着它们将通过{{form_errors(form)}}
呈现
$builder->add('fieldname', 'text', array(
'error_bubbling' => true,
));
快速提示:自symfony 2.3以来,您可以在表单类型中包含submit按钮,而无需手动渲染()。要在表单顶部显示所有错误,请执行以下操作
<ul>
{% for error in form.vars.errors.form.getErrors(true) %}
<li>{{ error.message }}</li>
{% endfor %}
</ul>
{form.vars.errors.form.getErrors(true)%%中的错误为%
- {{error.message}}
{%endfor%}
对于错误冒泡,我必须使用表单小部件…对吗?如果您在每个字段(在FormType类中)上放置错误冒泡
,错误将冒泡到父表单中,这意味着如果您希望它们都位于顶部,它们将出现在{form\u errors(form)}
中。quote:如果在普通字段上设置为true,则该字段的任何错误都将附加到主窗体,而不是特定字段。否则,您必须为每个字段添加{{form_errors(form.fieldname)}}
。在我的示例(form)中,如何为每个字段添加error_冒泡?你能提供一个例子吗?在我的答案中添加了这个例子。{{form_rest(form)}}
在提交按钮上方缺失:)
<ul>
{% for error in form.vars.errors.form.getErrors(true) %}
<li>{{ error.message }}</li>
{% endfor %}
</ul>