繁体   English   中英

Symfony2 form.error字段不起作用

[英]Symfony2 form.error field not working

我有一个问题。 我创建了一个表单类,并为自己的实体设置了一些断言。

但是现在我想渲染错误。 我得到了用于全局错误的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() );
}

表格类

$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;

非常感谢

如您所说,通过{{ form_errors(form) }}可以显示全局表单错误,而不是单个字段。

如果您希望通过{{form_errors(form)}}访问单个字段错误,则需要为表单中的每个单个字段启用选项error_bubbling => true

其他解决方案:

  • 分别呈现每个字段的错误{{ form_errors(form.name) }}
  • {{ form_row(form.name) }}用于一起渲染标签,小部件和错误。

希望会有所帮助。

正如zilongqiu所说,您应该使用{{ form_errors(form.name) }}分别显示字段的错误

如果要通过全局表单访问字段的错误,则可以检查以下链接: http : //blog.lyrixx.info/2013/01/31/symfony2-snippet-to-render-all-form-error.html

cya。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM