/** * {@inheritdoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); $builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) use($options) { $form = $event->getForm(); $review = $event->getData(); Assert::isInstanceOf($review, ReviewInterface::class); if (null === $review->getAuthor()) { $form->add('author', CustomerGuestType::class, ['constraints' => [new Valid()]]); } }); }
/** * {@inheritdoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); $builder->addEventSubscriber(new AddAuthorGuestTypeFormSubscriber()); }