Symfony 3 - 表单集合字段错误显示在字段外

Symfony 3 - Form collection field error displaying outside the field

谁能告诉我为什么与表单收集相关的错误显示在特定字段之外,以及如何将其移动到如下图所示的位置?

该字段的代码:

/**
 * @Assert\Valid
 * @ORM\OneToMany(
 *     targetEntity="PageFile",
 *     mappedBy="page",
 *     cascade={"persist","remove"},
 *     orphanRemoval=true
 * )
 * @var PageFile[]
 * @Assert\Count(max="1")
 */
private $pageFiles;

配置:

                - property: 'pageFiles'
                  type: 'collection'
                  type_options:
                      entry_type: 'Notimeo\PageBundle\Form\Type\MyFileType'
                      by_reference: false
                      error_bubbling: false

我正在使用 EasyAdminBundle and here's my whole project: https://github.com/ktrzos/SymfonyBasic。问题适用于“Notimeo\PageBundle”。

我看到其他错误位于输入字段上方,因此除非使用 CSS 以某种方式定位(这不太可能),否则错误似乎与表单本身有关,而不是与输入字段有关.这与无效的 CSRF 令牌类型相同。

您的问题可能与 Form Collection error bubbling 有关,其中发帖者问的问题与您基本相同。

建议设置为:

cascade_validation' => true

或者,如果您使用的是 Symfony 3:

error_bubbling  => false