使用 Symfony Form Validation 遍历多维数组

Multi-dimensional array traversal with Symfony Form Validation

我有一个多维数组的数组,代表我的表单每个级别代表一个子表单,直到你到达一个字段。

我希望能够遍历该数组以跟踪我去过的地方,这样我就不会多次走同一条路线。

每个数组键本质上是一个$form->get($key)。有几个字段名称相同但路径不同(在下图中以红色突出显示)。

有没有简单的方法可以做到这一点?

谢谢

这是我的解决方法。我创建了一个表单映射,它由多个字段组成,每个字段都有用于元素路径和错误的子数组。

然后我遍历它们并通过 Symfony\Component\Form\Extension\Validator\ViolationMapper\ViolationMapper 中的 Symfonys mapViolation 方法传递它们。

这里是完整的class: https://gist.github.com/linxlad/3ec76c181f717fba532bf43484b7c970