Поля Symfony 4 Dynamic TypeChoice - PullRequest
       15

Поля Symfony 4 Dynamic TypeChoice

0 голосов
/ 28 мая 2019

Я хотел бы задать вам вопрос о полях Dynamic TypeChoice. Когда у меня есть только 2 поля TypeChoice, это работает без проблем. Выберите один обновит второй. Но когда я хочу использовать 3 поля TypeChoice, и каждое из них зависит от того, что было выбрано в предыдущем, оно не работает и заканчивается исключением нарушения в поле 3. Я добавляю прослушиватели событий POST_SUBMIT в первое поле и второе поле и PRE_SET_DATA в форму для обновления второго поля и третьего поля. Но при нажатии кнопки «Отправить» на форме запускается событие PRE_SET_DATA, которое удаляет второе поле и прослушиватель события POST_SUBMIT для второго поля. Затем событие POST_SUBMIT запускается в первом поле и добавляет второе поле, но добавление прослушивателя события POST_SUBMIT для второго поля уже слишком поздно, поскольку система форм уже начала перебирать зарегистрированных прослушивателей, и это новое добавленное будет игнорироваться. Таким образом, поле № 3 не будет обновлено новым значением и выдает исключение нарушения.

Любые предложения приветствуются.

Спасибо

Я использую тот же код, который был описан в https://symfony.com/doc/current/form/dynamic_form_modification.html Но здесь используются только два поля, и мне нужно 3 поля.

...