src/Form/RegisterType.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\User;
  4. use EWZ\Bundle\RecaptchaBundle\Form\Type\EWZRecaptchaV3Type;
  5. use EWZ\Bundle\RecaptchaBundle\Validator\Constraints\IsTrueV3;
  6. use Symfony\Component\Form\AbstractType;
  7. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  8. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  9. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  10. use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
  11. use Symfony\Component\Form\Extension\Core\Type\TextType;
  12. use Symfony\Component\Form\FormBuilderInterface;
  13. use Symfony\Component\OptionsResolver\OptionsResolver;
  14. use Symfony\Component\Validator\Constraints\Email;
  15. use Symfony\Component\Validator\Constraints\NotBlank;
  16. class RegisterType extends AbstractType
  17. {
  18.     public function buildForm(FormBuilderInterface $builder, array $options)
  19.     {
  20.         $builder
  21.             ->add('firstname'TextType::class, [
  22.                 'required' => true,
  23.                 'constraints' => [
  24.                     new NotBlank(),
  25.                 ],
  26.                 'attr' => ['class' => 'register-form-input'],
  27.             ])
  28.             ->add('lastname'TextType::class, [
  29.                 'required' => true,
  30.                 'constraints' => [
  31.                     new NotBlank(),
  32.                 ],
  33.                 'attr' => ['class' => 'register-form-input'],
  34.             ])
  35.             ->add('email'EmailType::class, [
  36.                 'label' => null,
  37.                 'required' => true,
  38.                 'constraints' => [
  39.                     new NotBlank(),
  40.                     new Email(),
  41.                 ],
  42.                 'attr' => ['class' => 'register-form-input'],
  43.             ])
  44.             ->add('password'RepeatedType::class, [
  45.                 'type' => PasswordType::class,
  46.                 'invalid_message' => 'Les mots de passe saisis ne sont pas identiques.',
  47.                 'options' => ['attr' => ['class' => 'register-form-input']],
  48.                 'required' => true,
  49.                 'constraints' => [
  50.                     new NotBlank(),
  51.                 ],
  52.             ])
  53.             ->add('recaptcha'EWZRecaptchaV3Type::class, [
  54.                 'label' => false,
  55.                 'mapped' => false,
  56.                 'attr' => [
  57.                     'class' => 'g-recaptcha',
  58.                     'data-callback' => 'auth_register',
  59.                 ],
  60.             ])
  61.             ->add('secteur'ChoiceType::class, [
  62.                 'required' => false,
  63.                 'multiple' => false,
  64.                 'choices' => [
  65.                     'Administration' => 'Administration',
  66.                     'Aéroports' => 'Aéroports',
  67.                     'Banques, Assurances, Financement' => 'Banques, Assurances, Financement',
  68.                     'Cabinet conseil' => 'Cabinet conseil',
  69.                     'Compagnies aériennes' => 'Compagnies aériennes',
  70.                     'Education, Formation, Recherche' => 'Education, Formation, Recherche',
  71.                     'Forces armées' => 'Forces armées',
  72.                     'Industrie aéronautique' => 'Industrie aéronautique',
  73.                     'Industrie de défense' => 'Industrie de défense',
  74.                     'Ingénierie' => 'Ingénierie',
  75.                     'Logistique' => 'Logistique',
  76.                     'Maintenance' => 'Maintenance',
  77.                     'Médias, Communication' => 'Médias, Communication',
  78.                     'Organisations internationales' => 'Organisations internationales',
  79.                     'Spatial' => 'Spatial',
  80.                     'Etudiants' => 'Etudiants',
  81.                 ],
  82.                 'attr' => ['class' => 'register-form-input'],
  83.             ])
  84.             ->add('company'TextType::class, [
  85.                 'required' => false,
  86.                 'attr' => ['class' => 'register-form-input'],
  87.             ])
  88.             ->add('fonction'TextType::class, [
  89.                 'required' => false,
  90.                 'attr' => ['class' => 'register-form-input'],
  91.             ])
  92.         ;
  93.     }
  94.     public function configureOptions(OptionsResolver $resolver)
  95.     {
  96.         $resolver->setDefaults([
  97.             'data_class' => User::class,
  98.         ]);
  99.     }
  100. }