Вот мой класс типа формы.Таким образом, поле < select>
, о котором я говорю, является 'numSubscriptionTiers':
class UserProfileType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('numSubscriptionTiers', ChoiceType::class, [
'choices' => [
'1' => 1,
'2' => 2,
'3' => 3
]
])
->add('subscriptionTier1', UserSubscriptionTierType::class, [
'required' => false,
'entry_type' => UserSubscriptionTierType::class
])
->add('subscriptionTier2', UserSubscriptionTierType::class, [
'required' => false,
'entry_type' => UserSubscriptionTierType::class
])
->add('subscriptionTier3', UserSubscriptionTierType::class, [
'required' => false,
'entry_type' => UserSubscriptionTierType::class
])
Если пользователь выбирает 1, тогда требуется только выполнить подчиненную форму subscriptionTier1, если пользователь выбирает 2, то только сделать subscriptionTier1и требуются подчиненные формы subscriptionTier2 и т. д. ...
Я знаю, что существуют события формы, такие как PRE_SET_DATA, POST_SUBMIT и т. д. ... но можете ли вы добавить что-то похожее на событие JavaScript из класса типа формы?Как какое-то событие onChange для выбора numSubscriptionTiers и установки обязательного атрибута соответствующих подчиненных форм на true / false?
Я уже пошел сюда: https://symfony.com/doc/current/form/dynamic_form_modification.html#how-to-dynamically-generate-forms-based-on-user-data, и он только дает пример того, как динамически заполнять список выбора, а не добавлять событие изменения после того, как его параметры указаны.