← Back
Editing: MessageType.php
<?php namespace App\Form; use App\Entity\Message; use App\Service\MessageService; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\Extension\Core\Type\TextareaType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormEvent; use Symfony\Component\Form\FormEvents; use Symfony\Component\OptionsResolver\OptionsResolver; class MessageType extends AbstractType { private MessageService $messageService; public function __construct(MessageService $messageService) { $this->messageService = $messageService; } public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('message', TextareaType::class, ['required' => true]) ->add('submit', SubmitType::class, ['label' => 'Envoyer']) ->addEventListener( FormEvents::POST_SUBMIT, [$this, 'onPostSubmit'] ); } public function onPostSubmit(FormEvent $event): void { if ($event->getForm()->isValid()) { $this->messageService->notify($event->getData()); } } /** * @return void */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => Message::class, ]); } }
Save File
Cancel