src/Form/DemoType.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\Audit;
  4. use App\Entity\Demo;
  5. use Karser\Recaptcha3Bundle\Form\Recaptcha3Type;
  6. use Karser\Recaptcha3Bundle\Validator\Constraints\Recaptcha3;
  7. use Symfony\Component\Form\AbstractType;
  8. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  9. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  10. use Symfony\Component\Form\Extension\Core\Type\TextType;
  11. use Symfony\Component\Form\FormBuilderInterface;
  12. use Symfony\Component\OptionsResolver\OptionsResolver;
  13. class DemoType extends AbstractType
  14. {
  15.     public function buildForm(FormBuilderInterface $builder, array $options): void
  16.     {
  17.         $builder
  18.             ->add('name',TextType::class,[
  19.                 'label'=>false,
  20.                 'attr'=>[
  21.                     'placeholder'=>'Nom & Prénom*'
  22.                 ]
  23.             ])
  24.             ->add('telephone',TextType::class,[
  25.                 'label'=>false,
  26.                 'attr'=>[
  27.                     'placeholder'=>'Téléphone*'
  28.                 ]
  29.             ])
  30.             ->add('email',TextType::class,[
  31.                 'label'=>false,
  32.                 'attr'=>[
  33.                     'placeholder'=>'E-mail*'
  34.                 ]
  35.             ])
  36.             ->add('rgpd'CheckboxType::class, [
  37.                 'mapped' => false,
  38.                 'required' => true,
  39.                 '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",
  40.             ])
  41.             ->add('page',TextType::class,[
  42.                 'label'=>false,
  43.                 'attr'=>[
  44.                     'hidden'=>true
  45.                 ]
  46.             ])
  47.             ->add('captcha'Recaptcha3Type::class, [
  48.                 'constraints' => new Recaptcha3(['message' => 'La vérification anti-robot a échoué. Merci de réessayer.']),
  49.                 'action_name' => 'AuditType',
  50.                 //'script_nonce_csp' => $nonceCSP,
  51.                 'locale' => 'fr',
  52.             ])
  53.         ;
  54.     }
  55.     public function configureOptions(OptionsResolver $resolver): void
  56.     {
  57.         $resolver->setDefaults([
  58.             'data_class' => Demo::class,
  59.         ]);
  60.     }
  61. }