src/Form/ContactCustomType.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  5. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  6. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  7. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  8. use Symfony\Component\Form\Extension\Core\Type\TextType;
  9. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  10. use Symfony\Component\Form\FormBuilderInterface;
  11. use Symfony\Component\OptionsResolver\OptionsResolver;
  12. use Symfony\Component\Security\Csrf\CsrfToken;
  13. class ContactCustomType extends AbstractType
  14. {
  15.     public function buildForm(FormBuilderInterface $builder, array $options)
  16.     {
  17.         $cabinet $options['cabinet'];
  18.         $builder
  19.             ->add('name'TextType::class, [
  20.                 'required' => true,
  21.                 'attr' => array(
  22.                     'placeholder' => 'Nom'
  23.                 )
  24.             ])
  25.             ->add('phone'TextType::class, [
  26.                 'required' => true,
  27.                 'attr' => array(
  28.                     'placeholder' => 'Téléphone'
  29.                 )
  30.             ])
  31.             ->add('email'EmailType::class, [
  32.                 'required' => true,
  33.                 'attr' => array(
  34.                     'placeholder' => 'Email'
  35.                 )
  36.             ])
  37.             ->add('address'TextType::class, [
  38.                 'attr' => array(
  39.                     'placeholder' => 'Adresse postale'
  40.                 )
  41.             ])
  42.             ->add('city'TextType::class, [
  43.                 'attr' => array(
  44.                     'placeholder' => 'Ville'
  45.                 )
  46.             ])
  47.             ->add('zipCode'TextType::class, [
  48.                 'attr' => array(
  49.                     'placeholder' => 'Code Postale'
  50.                 )
  51.             ])
  52.             ->add('message'TextareaType::class, [
  53.                 'attr' => array(
  54.                     'placeholder' => 'Message'
  55.                 )
  56.             ])
  57.             ->add('rgpd'CheckboxType::class, [
  58.                 'required' => true,
  59.                 'label' => "En soumettant ce formulaire, j'accepte que les informations saisies soient exploitées dans le cadre de la demande de devis et de la relation commerciale qui peut en découler",
  60.             ])
  61.             ->add('page'HiddenType::class, [
  62.                 'required' => true,
  63.             ]);
  64.         if ($cabinet != null)
  65.             if ($cabinet->getParameters()->getGOOGLERECAPTCHASECRET() != null && $cabinet->getParameters()->getGOOGLERECAPTCHASITEKEY() != null) {
  66.                 $builder
  67.                     ->add('captcha'ReCaptchaType::class, [
  68.                         'type' => 'invisible' // (invisible, checkbox)
  69.                     ]);
  70.             }
  71.         //->add('Envoyer', SubmitType::class)
  72.     }
  73.     public function configureOptions(OptionsResolver $resolver)
  74.     {
  75.         $resolver->setDefaults([
  76.             'csrf_protection' => false,
  77.             'cabinet' => null
  78.         ]);
  79.     }
  80. }