Я думаю, что лучшее место для изменения требуемых "состояний и валидаторов ваших элементов формы - это непосредственно перед проверкой вашей формы, то есть $yourForm->isValid($_POST)
. В этом месте вам придется изменить валидаторы и / или требуемые состояния некоторых полей . Какие поля будут зависеть от значения элемента формы ввода регистрационного типа.
Что касается показа / скрытия определенных элементов формы, вы можете сделать это на внешней стороне, используя JavaScript.