Мое решение:
Я думаю, вы должны использовать События Symfony Form .В событиях вы можете делать такие пользовательские вещи, как добавление ошибок, проверка значений во всех формах, динамическое удаление и добавление валидаторов / полей.
Подробнее о потоке событий формы вы можете прочитать здесь
Здесь Добавить ошибку в элемент формы Symfony 2 У вас есть вопрос, как добавить ошибку в поле из прослушивателя событий (В Symfony 4 это делается аналогично)
Мое мнение о craue/ CraueFormFlowBundle:
Я использую CraueFormFlowBundle
в своих проектах для создания сложных многошаговых форм.Это полезно Bundle и экономит много времени.Я создал множество форм на основе CraueFormFlowBundle
+ Doctrine entities
в сочетании с validation groups
+ symfony form events
- мощным и гибким решением, которое я могу порекомендовать