src\Form\ContactType.php line 21

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Form;
  4. use App\Models\Contact;
  5. use EWZ\Bundle\RecaptchaBundle\Form\Type\EWZRecaptchaType;
  6. use EWZ\Bundle\RecaptchaBundle\Validator\Constraints\IsTrue as RecaptchaTrue;
  7. use Symfony\Component\Form\AbstractType;
  8. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  9. use Symfony\Component\Form\Extension\Core\Type\TelType;
  10. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  11. use Symfony\Component\Form\Extension\Core\Type\TextType;
  12. use Symfony\Component\Form\FormBuilderInterface;
  13. use Symfony\Component\OptionsResolver\OptionsResolver;
  14. /**
  15.  * Class ContactType.
  16.  */
  17. final class ContactType extends AbstractType
  18. {
  19.     public function buildForm(FormBuilderInterface $builder, array $options): void
  20.     {
  21.         $builder->add('name'TextType::class, [
  22.             'label' => false,
  23.             'empty_data' => '',
  24.             'attr' => ['class' => 'form-control bg-light mb-3''placeholder' => 'Prénom*'],
  25.         ])->add('lastname'TextType::class, [
  26.             'label' => false,
  27.             'empty_data' => '',
  28.             'attr' => ['class' => 'form-control bg-light mb-3''placeholder' => 'Nom*'],
  29.         ])->add('email'EmailType::class, [
  30.             'label' => false,
  31.             'empty_data' => '',
  32.             'attr' => ['class' => 'form-control bg-light mb-3''placeholder' => 'Email*'],
  33.         ])->add('phone'TelType::class, [
  34.             'label' => false,
  35.             'empty_data' => '',
  36.             'data' => '',
  37.             'attr' => ['class' => 'form-control bg-light mb-3''placeholder' => 'Téléphone*'],
  38.         ])->add('message'TextareaType::class, [
  39.             'label' => false,
  40.             'empty_data' => '',
  41.             'attr' => ['class' => 'form-control bg-light mb-3''placeholder' => 'Message*'],
  42.         ])->add('recaptcha'EWZRecaptchaType::class, [
  43.             'label' => false,
  44.             'constraints' => [new RecaptchaTrue()],
  45.             'mapped' => false,
  46.             'attr' => ['class' => 'form-control bg-light mb-3'],
  47.         ]);
  48.     }
  49.     public function configureOptions(OptionsResolver $resolver): void
  50.     {
  51.         $resolver->setDefaults([
  52.             'data_class' => Contact::class,
  53.             'validation_groups' => null,
  54.             'csrf_protection' => true,
  55.             'csrf_token_id' => 'front_contact_item',
  56.             'csrf_field_name' => 'front_contact_token',
  57.             'translation_domain' => 'contact',
  58.         ]);
  59.     }
  60. }