gpt4 book ai didi

forms - Symfony 2.6.3 {{ form_errors( form ) }} 当 isValid() 返回 false 时为空

转载 作者:行者123 更新时间:2023-12-01 23:32:39 27 4
gpt4 key购买 nike

我正在使用 Symfony V2.6.3

我有一个基于 Type 类的包含三个字段的简单表单。

Type 类通过 setDefaultOptions() 指定的实体类有 use Symfony\Component\Validator\Constraints as Assert;陈述。

每个字段都有一个 @Assert\NotBlank()实体类中的约束。

CSRF 已启用。

HTML5 验证被禁用。

如果我提交所有字段为空的表单,则会发生以下情况:

  • 在 Controller 中:
  • isValid()返回假
  • getErrors( true )为每个字段返回一个错误
  • 在模板中:
  • {{ form_errors( form ) }}不为表单或任何字段生成文本。

  • 我创建了一个自定义表单主题并修改了 {% block form_errors %}
    转储 errors多变的。转储显示 errors属性是 FormErrorIterator具有两个属性的对象: form ,也就是说,我相信字段定义,以及 errors这是一个空数组。

    奇怪的是,深入到 form属性显示 errors属性是具有单个 FormError 的数组包含错误消息的对象。

    这不是我第一次使用表单。过去它对我来说效果很好。这可能是 2.6 中的新错误吗?

    我已经搜索了这个,我发现的所有情况都是 getErrors()也一无所获。

    提前致谢,
    戴夫

    最佳答案

    好的。我终于找到了这个问题的答案。

    非常感谢 Symfony 论坛上的 thenetimp。他遇到了同样的问题并想通了( http://forum.symfony-project.org/viewtopic.php?f=23&t=42841&p=135003&hilit=form_errors#p135003 )。

    事实证明,您必须在调用 isValid() 之后调用 createView()。当你考虑它时,这实际上是有道理的。

    关于forms - Symfony 2.6.3 {{ form_errors( form ) }} 当 isValid() 返回 false 时为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28141701/

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