Symfony2访问所有表单错误而不使用form_bubbling

时间:2011-11-17 18:36:34

标签: forms symfony

我想知道是否可以在不使用form_bubbling的情况下访问我的所有表单错误,因为它会向父级错误提供错误并且单个对象会丢失错误...我需要表单全局知道是否存在错误显示全局“请修复您的错误”消息和各个元素,以了解它们是否包含错误,因为我将向无效的表单输入添加错误CSS类。

提前致谢!

2 个答案:

答案 0 :(得分:1)

我发现获取表单错误数量的最有效方法,无论form_bubblingtrue还是false,都要在控制器中添加一些指示它的变量:

return $this->render('Acme:Contrats:index.html.twig', array(
    'myform' => $form->createView(),
    'myformHasErrors' => !$form->isValid(),
));

如果有人找到另一个,请评论/回答。

答案 1 :(得分:0)

在与Symfony的IRC频道中的人交谈后,在Twig模板中有两种方法可以做到这一点:

  1. form.has('errors')表示布局是否包含错误。
  2. form.vars.errors|length表示表单中包含的错误数。
  3. 问题解决了。所有这些都可以在不使用error_bubbling的情况下使用。