2016-10-04 84 views
0

我有一個多維數組的數組,代表我的表單,每個級別代表一個子表單,直到你到達一個字段。多維數組遍歷與Symfony表單驗證

我希望能夠遍歷該數組以跟蹤我去過的地方,所以我不會多次走過同一條路線。

每個陣列密鑰本質上是一個$form->get($key)。有幾個字段命名相同,但是路徑不同(在下圖中以紅色突出顯示)。

有沒有簡單的方法來實現這一目標?

enter image description here

感謝

+0

什麼從簡單的遍歷數組停止嗎? –

+0

它必須是一個遞歸函數? – Kal

+0

是的,我想是的。 –

回答

0

這是我的修補程序。我創建了一個表單映射,它由每個元素的路徑和錯誤的子數組構成。

然後,我循環它們,並通過Symfonys mapViolation方法在Symfony\Component\Form\Extension\Validator\ViolationMapper\ViolationMapper中傳遞它們。

下面是完整的類: https://gist.github.com/linxlad/3ec76c181f717fba532bf43484b7c970