src/Form/PostulerType.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\FormBuilderInterface;
  5. use Symfony\Component\Validator\Constraints\File;
  6. use Symfony\Component\OptionsResolver\OptionsResolver;
  7. use Symfony\Component\Form\Extension\Core\Type\FileType;
  8. use Symfony\Component\Form\Extension\Core\Type\TextType;
  9. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  10. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  11. class PostulerType extends AbstractType
  12. {
  13.     public function buildForm(FormBuilderInterface $builder, array $options): void
  14.     {
  15.         $builder
  16.             ->add('prenom'TextType::class, [
  17.                 'label' => false,
  18.                 'required' => true,
  19.                 'attr' => [
  20.                     'class' => 'form-control',
  21.                     'placeholder' => 'Prénom *'
  22.                 ]
  23.             ])
  24.             ->add('nom'TextType::class, [
  25.                 'label' => false,
  26.                 'required' => true,
  27.                 'attr' => [
  28.                     'class' => 'form-control',
  29.                     'placeholder' => 'Nom *'
  30.                 ]
  31.             ])
  32.             ->add('email'EmailType::class, [
  33.                 'label' => false,
  34.                 'required' => true,
  35.                 'attr' => [
  36.                     'class' => 'form-control',
  37.                     'placeholder' => 'Adresse e-mail *'
  38.                 ]
  39.             ])
  40.             ->add('message'TextareaType::class, [
  41.                 'label' => false,
  42.                 'required' => true,
  43.                 'attr' => [
  44.                     'class' => 'form-control',
  45.                     'placeholder' => 'Message',
  46.                     'rows' => 8
  47.                 ]
  48.             ])
  49.             ->add('cv'FileType::class, [
  50.                 'label' => 'CV * (pdf, png, jpeg)',
  51.                 'required' => true,
  52.                 'attr' => [
  53.                     'class' => 'form-control form-control-sm'
  54.                 ],
  55.                 'constraints' => [
  56.                     new File([
  57.                         'maxSize' => '800k',
  58.                         'mimeTypes' => [
  59.                             'image/png',
  60.                             'image/jpeg',
  61.                             'application/pdf'
  62.                         ],
  63.                         'mimeTypesMessage' => 'Le document envoyé n\'est pas valide (PDF ou images .jpg et .png seulement)',
  64.                         'maxSizeMessage' => 'Le document envoyé est trop gros (800 Ko maxi)'
  65.                     ])
  66.                 ]
  67.             ])
  68.             ->add('autredoc'FileType::class, [
  69.                 'label' => 'Autre document (pdf, png, jpeg)',
  70.                 'required' => false,
  71.                 'attr' => [
  72.                     'class' => 'form-control form-control-sm'
  73.                 ],
  74.                 'constraints' => [
  75.                     new File([
  76.                         'maxSize' => '800k',
  77.                         'mimeTypes' => [
  78.                             'image/png',
  79.                             'image/jpeg',
  80.                             'application/pdf'
  81.                         ],
  82.                         'mimeTypesMessage' => 'Le document envoyé n\'est pas valide (PDF ou images .jpg et .png seulement)',
  83.                         'maxSizeMessage' => 'Le document envoyé est trop gros (800 Ko maxi)'
  84.                     ])
  85.                 ]
  86.             ])
  87.             // ->add('captcha', CaptchaType::class, [
  88.             //     'label' => false,
  89.             //     'length' => 6,
  90.             //     'width' => 200,
  91.             //     'height' => 60,
  92.             //     'as_url' => true,
  93.             //     'reload' => true,
  94.             //     'attr' => [
  95.             //         'style' => 'width: 200px',
  96.             //         'class' => 'form-control',
  97.             //     ]
  98.             // ])
  99.         ;
  100.     }
  101.     public function configureOptions(OptionsResolver $resolver): void
  102.     {
  103.         $resolver->setDefaults([
  104.             // Configure your form options here
  105.         ]);
  106.     }
  107. }