src/Form/Type/ContactType.php line 15

  1. <?php
  2. namespace App\Form\Type;
  3. use App\Entity\Contact;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  6. use Symfony\Component\Form\Extension\Core\Type\FileType;
  7. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  8. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  9. use Symfony\Component\Form\Extension\Core\Type\TextType;
  10. use Symfony\Component\Form\FormBuilderInterface;
  11. use Symfony\Component\OptionsResolver\OptionsResolver;
  12. use Gregwar\CaptchaBundle\Type\CaptchaType;
  13. use Symfony\UX\Dropzone\Form\DropzoneType;
  14. class ContactType extends AbstractType
  15. {
  16.     public function buildForm(FormBuilderInterface $builder, array $options): void
  17.     {
  18.         #invalid-feedback d-block
  19.         $builder
  20.             ->add('pseudo'TextType::class, [
  21.                 'label' => 'Pseudo'
  22.             ])
  23.             ->add('title'TextType::class, [
  24.                 'label' => 'Titre du message'
  25.             ])
  26.             ->add('emailFrom'EmailType::class, [
  27.                 'label' => 'Email afin de vous rĂ©pondre'
  28.             ])
  29.             ->add('Content'TextareaType::class, [
  30.                 'attr' => ['rows' => '5'],
  31.                 'label' => 'Contenu de votre message'
  32.             ])
  33.             ->add('pdfFile'DropzoneType::class, [
  34.                 'label' => 'Joindre un document',
  35.                 'required' => false,
  36.                 #'allow_delete' => false,
  37.                 #'download_uri' => false,
  38.                 'attr' => [
  39.                     'data-controller' => 'symfony--ux-dropzone--dropzone',
  40.                 ],
  41.             ])
  42.             ->add('captcha'CaptchaType::class)
  43.             ->add('Envoyer'SubmitType::class)
  44.         ;
  45.     }
  46.     public function configureOptions(OptionsResolver $resolver): void
  47.     {
  48.         $resolver->setDefaults([
  49.             'data_class' => Contact::class,
  50.         ]);
  51.     }
  52. }