为了在树枝模板中渲染表单错误,如果是全局表单错误或字段错误,您只需使用form_errors
twig宏而没有区别。
但在我的情况下,全局错误不会像字段错误那样呈现,因此我不能在这两种情况下使用form_errors
twig宏。我决定将宏用于场误差&我想从Symfony\Component\Form\FormView
对象中获取全局表单错误。目标是迭代树枝模板中的全局错误。像我想的那样渲染它们。
实际上,我没有在symfony2文档中找到任何可以帮助我的资源。
答案 0 :(得分:5)
最后,我自己找到了解决方案。对于想要做同样事情的人来说,解决方法是调用$formView->get("errors")
,它会为您提供一系列FormError
答案 1 :(得分:3)
我正在使用symfony 2.5,它以这种方式对我来说非常适合。
myController的
$error = new FormError(ErrorMessages::USER_NOT_AUTHENTICATED);
$form->addError($error);
MyView的
{% for error in form.vars.errors %}
<div class="alert alert-danger" role="alert">
{{ error.messageTemplate|trans(error.messageParameters, 'validators')~'' }}
</div>
{% endfor %}
希望这会节省一些时间。
答案 2 :(得分:2)
在symfony 2.3中删除了所有访问器方法,以支持公共属性以提高性能。
$formView->get("errors");
现在是:
$formView->vars["errors"];
访问UPGRADE-2.1.md并参阅“弃用”部分以获取更多信息。