src/Form/Concours2023FormType.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. // Voir https://symfony.com/doc/current/reference/forms/types.html
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\FormBuilderInterface;
  6. use Symfony\Component\Form\Extension\Core\Type\TextType;
  7. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  8. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  9. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  10. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  11. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  12. use Symfony\Component\Form\Extension\Core\Type\FileType;
  13. use Symfony\Component\Form\Extension\Core\Type\BirthdayType;
  14. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  15. use Symfony\Component\OptionsResolver\OptionsResolver;
  16. use Symfony\Component\Translation\TranslatorInterface;
  17. class Concours2023FormType extends AbstractType
  18. {
  19.     /**
  20.      * @inheritDoc
  21.      */
  22.     public function buildForm(FormBuilderInterface $builder, array $options)
  23.     {
  24.         /*
  25.          * Si vous créez un formulaire en "dur" dans votre vue (ex: demo-contact-sans-formbuilder.html.php),
  26.          * alors vous pouvez laisser les lignes ci-dessous en commentaire.
  27.          * Si vous créez un formulaire avec le formbuilder dans votre vue (ex: demo-contact-avec-formbuilder.html.php),
  28.          * alors décommentez les lignes ci-dessous et créez vos propres champs.
  29.          */
  30.             $builder
  31.             ->add('lastname'TextType::class, [
  32.                 'label' => 'Nom',
  33.                 'required' => true,
  34.                 'attr'        => [
  35.                     'class' => 'uk-form-controls uk-input input-style'
  36.                 ]
  37.            ])
  38.            ->add('firstname'TextType::class, [
  39.             'label' => 'Prénom',
  40.             'required' => true,
  41.             'attr'        => [
  42.                 'class' => 'uk-form-controls uk-input input-style'
  43.             ]
  44.             ])
  45.             ->add('email'EmailType::class, [
  46.                 'label' => 'Email',
  47.                 'required'    => true,
  48.                 'attr'        => [
  49.                     'class' => 'uk-form-controls uk-input input-style'
  50.                 ]
  51.             ])
  52.             ->add('choixmultiple'ChoiceType::class, [
  53.                 'label' => 'En tennis, que signifie « faire le break » ?',
  54.                 'multiple' => false,
  55.                 'expanded' => true,
  56.                 'required'    => true,
  57.                 'choices' => [
  58.                     'Faire une pause pour boire un coup' => 'Concours2023Reponse1',
  59.                     'Gagner le jeu alors que l’adversaire est au service' => 'Concours2023Reponse2',
  60.                     'Faire une petite chorégraphie de danse' => 'Concours2023Reponse3'
  61.                 ]
  62.             ])
  63.             ->add('message'TextType::class, [
  64.                 'label'    => 'Réponse ouverte',
  65.                 'required' => true,
  66.                 'attr'     => [
  67.                     'class' => 'uk-form-controls uk-input input-style'
  68.                 ]
  69.             ])
  70.             ->add('reglement'CheckboxType::class, [
  71.                 'label'    => true,
  72.                 'required' => true,
  73.                 'attr' => ['class' => 'uk-checkbox checkbox-style'],
  74.             ])
  75.             ->add('gdpr'CheckboxType::class, [
  76.                 'label'    => true,
  77.                 'required' => true,
  78.                 'attr' => ['class' => 'uk-checkbox checkbox-style'],
  79.             ])
  80.             ->add('preuvePaiement'FileType::class, [
  81.                 'label'    => 'Veuillez insérer votre preuve d\'achat',
  82.                 'required' => true,
  83.                 'attr' => [
  84.                     'class' => 'dropify',
  85.                     'data-allowed-file-extensions' => 'jpg jpeg png pdf hec heic heif'
  86.                 ],
  87.             ])
  88.             ->add('recaptcha'HiddenType::class, [
  89.                 'attr'     => [
  90.                     'class' => 'gs-recaptcha'
  91.                 ],
  92.                 'required' => false
  93.             ])
  94.             ->add('submit'SubmitType::class, [
  95.                 'label' => 'Participer',
  96.                 'attr'        => [
  97.                     'class' => 'uk-button uk-button-tertiary'
  98.                 ]
  99.             ]);
  100.     }
  101.     /**
  102.      * @inheritDoc
  103.      */
  104.     public function configureOptions(OptionsResolver $resolver)
  105.     {
  106.     }
  107. }