我遇到了问题。我创建了一个表单类,并将一些断言设置为我的权限。
但现在我想渲染错误。 我得到了全局错误的form_erros,但没有得到字段。
这里是代码:
控制器
public function addAction(Request $request){
$news = new news();
$form = $this->createForm(new NewsType(),$news);
$form->handleRequest($request);
if ($form->isValid()) {
echo "YEPP";
}
return array( 'form' => $form->createView() );
}
Formclass
$builder
->add('unpublic','checkbox',array(
'required' => false))
->add('unactive','checkbox',array(
'required' => false))
->add('untitle','text',array(
'required' => true))
查看
<div class="form-group">
{{ form_label(form.untitle,'Titel*',{ 'label_attr': {'class': 'col-sm-2 control-label'}}) }}
<strong>{{ form_errors(form.untitle) }}</strong>
<div class="col-sm-10">
{{ form_widget(form.untitle, {'attr': {'class' : 'form-control'} }) }}
{{ form_errors(form.untitle) }}
</div>
</div>
实体
/**
* @var string
*
* @ORM\Column(name="UNTITLE", type="string", length=255)
*
* @Assert\NotBlank()
* @Assert\Type("Text")
*
*/
private $UNTITLE;
非常感谢
答案 0 :(得分:0)
正如您所说,{{ form_errors(form) }}
显示全局表单错误,而不是单个字段。
如果您希望通过{{form_errors(form)}}访问单个字段错误,则需要为表单中的每个字段启用选项error_bubbling => true
。
其他解决方案:
{{ form_errors(form.name) }}
{{ form_row(form.name) }}
用于一起呈现标签,小部件和错误。希望它会有所帮助。
答案 1 :(得分:0)
正如zilongqiu所说,你应该用{{ form_errors(form.name) }}
如果您想通过全局表单访问字段错误,可以查看以下链接:http://blog.lyrixx.info/2013/01/31/symfony2-snippet-to-render-all-form-error.html
CYA。