src/Form/RequestAccessFormType.php line 17

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Form;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  6. use Symfony\Component\Form\FormBuilderInterface;
  7. use Symfony\Component\OptionsResolver\OptionsResolver;
  8. use Symfony\Component\Validator\Constraints\Email;
  9. use Symfony\Component\Validator\Constraints\NotBlank;
  10. /**
  11.  * Formulaire de demande d'accès (vérification éligibilité par email professionnel).
  12.  */
  13. class RequestAccessFormType extends AbstractType
  14. {
  15.     /**
  16.      * Construit le formulaire de demande d'accès.
  17.      *
  18.      * @param FormBuilderInterface $builder Constructeur de formulaire
  19.      * @param array<string, mixed> $options Options du formulaire
  20.      * @return void
  21.      */
  22.     public function buildForm(FormBuilderInterface $builder, array $options): void
  23.     {
  24.         $builder
  25.             ->add('email'EmailType::class, [
  26.                 'label' => 'Email professionnel',
  27.                 'attr' => [
  28.                     'placeholder' => 'prenom@entreprise.fr',
  29.                     'class' => 'form-control',
  30.                 ],
  31.                 'constraints' => [
  32.                     new NotBlank([
  33.                         'message' => 'Veuillez saisir votre email professionnel.',
  34.                     ]),
  35.                     new Email([
  36.                         'message' => 'Veuillez saisir une adresse email valide.',
  37.                     ]),
  38.                 ],
  39.             ]);
  40.     }
  41.     /**
  42.      * Configure les options du formulaire.
  43.      *
  44.      * @param OptionsResolver $resolver Résolveur d'options
  45.      * @return void
  46.      */
  47.     public function configureOptions(OptionsResolver $resolver): void
  48.     {
  49.         $resolver->setDefaults([]);
  50.     }
  51. }