src/Form/DiagnostiqueFormType.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\Evosimul;
  4. use Karser\Recaptcha3Bundle\Form\Recaptcha3Type;
  5. use Karser\Recaptcha3Bundle\Validator\Constraints\Recaptcha3;
  6. use Symfony\Component\Form\AbstractType;
  7. use Symfony\Component\Form\Extension\Core\Type\ButtonType;
  8. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  9. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  10. use Symfony\Component\Form\Extension\Core\Type\IntegerType;
  11. use Symfony\Component\Form\Extension\Core\Type\NumberType;
  12. use Symfony\Component\Form\FormBuilderInterface;
  13. use Symfony\Component\OptionsResolver\OptionsResolver;
  14. use Symfony\Component\Form\Extension\Core\Type\DateType;
  15. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  16. use Symfony\Component\Form\Extension\Core\Type\TextType;
  17. class DiagnostiqueFormType extends AbstractType
  18. {
  19.     public function buildForm(FormBuilderInterface $builder, array $options)
  20.     {
  21.         $builder
  22.             ->add('projet'ChoiceType::Class,[
  23.                 'label'=>'Type de projet',
  24.                 'choices' =>[
  25.                     'Panneaux solaires'=> 'Panneaux solaires',
  26.                     'Pompe à chaleur'=> 'Pompe à chaleur',
  27.                     'Borne de recharge'=> 'Borne de recharge',
  28.                     'Isolation de combles'=> 'Isolation de combles',
  29.                     'Isolation de sols'=> 'Isolation de sols',
  30.                     'Inject Styrene'=> 'Inject Styrene',
  31.                     'Autre'=> 'Autre'
  32.                 ],
  33.             ])
  34.             ->add('nom',TextType::Class)
  35.             ->add('prenom',TextType::Class)
  36.             ->add('ville',TextType::Class)
  37.             ->add('comments',TextType::Class,[
  38.                 'label'=>'Commentaire',
  39.             ])
  40.             ->add('tel',TextType::Class,[
  41.                 'required'=>false,
  42.                 'label'=>'Téléphone',
  43.             ])
  44.             ->add('captcha'Recaptcha3Type::class, [
  45.                 'constraints' => new Recaptcha3(),
  46.                 'action_name' => 'diagnostique_gratuit',
  47.             ])
  48.             ->add('submit',SubmitType::class,[
  49.                 'label' => 'Envoyer'
  50.             ])
  51.         ;
  52.     }
  53.     public function configureOptions(OptionsResolver $resolver)
  54.     {
  55.         $resolver->setDefaults([
  56.             'data_class' => Evosimul::class,
  57.             'csrf_protection' => false,
  58.             // the name of the hidden HTML field that stores the token
  59.             'csrf_field_name' => '_token',
  60.             // an arbitrary string used to generate the value of the token
  61.             // using a different string for each form improves its security
  62.             'csrf_token_id'   => 'simul'
  63.         ]);
  64.     }
  65. }