3

为了在 twig 模板中呈现表单错误,如果它是全局表单错误或字段错误,您只需使用form_errorstwig 宏就可以了。

但在我的情况下,全局错误不会像字段错误那样呈现,所以我不能在form_errors这两种情况下使用 twig 宏。我决定将宏用于字段错误并且我想从Symfony\Component\Form\FormView对象中获取全局表单错误。目标是迭代树枝模板中的全局错误并像我想要的那样渲染它们。

实际上,我在 symfony2 文档中找不到任何可以帮助我的资源。

4

3 回答 3

5

最后,我自己找到了解决方案。对于想要做同样事情的人,解决方案是打电话$formView->get("errors")给你一个数组FormError

于 2011-08-10T08:23:33.423 回答
3

我正在使用 symfony 2.5,它以这种方式非常适合我。

我的控制器

$error = new FormError(ErrorMessages::USER_NOT_AUTHENTICATED);
$form->addError($error);

我的观点

{% for error in form.vars.errors %}
  <div class="alert alert-danger" role="alert">
    {{ error.messageTemplate|trans(error.messageParameters, 'validators')~'' }}
  </div>
{% endfor %}

希望这会节省一些人的时间。

于 2014-10-08T08:57:27.850 回答
2

在 symfony 2.3 中,所有访问器方法都被删除了,以支持公共属性以提高性能。

$formView->get("errors");

就是现在:

$formView->vars["errors"];

访问UPGRADE-2.1.md并参阅“弃用”部分了解更多信息。

于 2013-07-11T02:18:43.517 回答