gpt4 book ai didi

php - Symfony2 在字段旁边和表单顶部显示表单错误

转载 作者:可可西里 更新时间:2023-10-31 23:34:00 25 4
gpt4 key购买 nike

在 Symfony2 中,我将如何使用 twig 模板在每个字段旁边和表单顶部显示表单错误?

目前我只能通过在每个字段上将 error_bubbling 设置为 true 或 false 来设法获得一个或另一个...

谢谢

最佳答案

我可以建议您的一个解决方案是对您的对象进行第二次显式验证并将错误发送到您的模板。这样,第一个隐式验证是在表单对象内完成的,错误被绑定(bind)到字段(不要使用错误冒泡)。第二次验证将为您提供一个错误迭代器,您可以将该迭代器传递给您的模板以显示在表单顶部。然后,您将在每个字段旁边以及表格顶部看到错误。

我建议你这个基于 this StackOverflow 上的问题。检查this具体答案。

这里是 Controller 代码的草图(我没有测试任何东西):

// Code in a controller
public acmeFormAction(...) {
// Form and object code

// Get a ConstraintViolationList
$errors = $this->get('validator')->validate( $user );

return $this->render('AcmeTaskBundle:Default:new.html.twig', array(
'form' => $form->createView(),
'errors' => errors,
));
}

模板中的代码:

{# Code in a twig template #}
<ul id="error-list">
{% for error in errors %}
<li> error.message </li>
{% endfor %}
</ul>

{# Display your form as usual #}

如果没记错的话,有一种方法可以从表单中检索所有错误,并且仍然在每个字段上设置错误。根据我的内存,它是表单 View 上的一个特殊属性,类似于 form.errors。但我不记得或找不到任何关于此的信息。所以,就目前而言,这是我能找到的最佳方法。

关于php - Symfony2 在字段旁边和表单顶部显示表单错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8179720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com