src/Form/Type/Buzz/SendActualiteType.php line 17

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Form\Type\Buzz;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\FormBuilderInterface;
  6. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  7. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  8. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  9. use Symfony\Component\Form\Extension\Core\Type\TextType;
  10. use Symfony\Component\OptionsResolver\OptionsResolver;
  11. use EWZ\Bundle\RecaptchaBundle\Form\Type\EWZRecaptchaType;
  12. use EWZ\Bundle\RecaptchaBundle\Validator\Constraints\IsTrue as RecaptchaTrue;
  13. class SendActualiteType extends AbstractType
  14. {
  15.     public function buildForm(FormBuilderInterface $builder, array $options): void
  16.     {
  17.         $builder
  18.             ->add('id_actualite'HiddenType::class, [
  19.                 'data' => (string) ($options['id_actualite'] ?? ''),
  20.             ])
  21.             ->add('email_destinataire'EmailType::class, [
  22.                 'required' => true,
  23.                 'label' => 'Email du destinataire',
  24.             ])
  25.             ->add('email_expediteur'EmailType::class, [
  26.                 'required' => true,
  27.                 'label' => "Votre adresse email",
  28.             ])
  29.             ->add('nom'TextType::class, [
  30.                 'required' => true,
  31.                 'label' => 'Votre nom et prĂ©nom',
  32.             ])
  33.             ->add('commentaire'TextareaType::class, [
  34.                 'required' => false,
  35.                 'label' => 'Votre commentaire',
  36.                 'attr' => ['rows' => 4],
  37.             ])
  38.             ->add('recaptcha'EWZRecaptchaType::class, [
  39.                 'label' => false,
  40.                 'mapped' => false,
  41.                 'constraints' => [new RecaptchaTrue()],
  42.             ])
  43.         ;
  44.     }
  45.     public function configureOptions(OptionsResolver $resolver): void
  46.     {
  47.         $resolver->setDefaults([
  48.             'csrf_protection' => true,
  49.             'id_actualite' => null,
  50.         ]);
  51.         $resolver->setAllowedTypes('id_actualite', ['null''int''string']);
  52.     }
  53. }