У меня есть массив многомерного массива, который представляет мою форму, каждый уровень представляет дочернюю форму, пока вы не доберетесь до поля.
Я хочу быть в состоянии обойти этот массив, отслеживая, где и где я был, поэтому я не иду по одному и тому же маршруту более одного раза.
Каждый ключ массива по сути $form->get($key)
, Есть пара полей, которые названы одинаково, но расположены по разным маршрутам (выделены красным на изображении ниже).
Есть ли простой способ добиться этого?
Спасибо
Это мое исправление. Я создал карту формы, которая состоит из числа полей с дочерними массивами для пути к элементу и ошибки.
Затем я зацикливаюсь на них и пропускаю через Symfonys mapViolation
метод в Symfony\Component\Form\Extension\Validator\ViolationMapper\ViolationMapper
,
Вот полный класс:
https://gist.github.com/linxlad/3ec76c181f717fba532bf43484b7c970
Других решений пока нет …