src/Form/ContactType.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\ContactForm;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\FormBuilderInterface;
  6. use Symfony\Component\OptionsResolver\OptionsResolver;
  7. use Symfony\Component\Form\Extension\Core\Type\TelType;
  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\ChoiceType;
  11. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  12. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  13. use Symfony\Config\Framework\Workflows\WorkflowsConfig\PlaceConfig;
  14. use Symfony\Contracts\Translation\TranslatorInterface;
  15. class ContactType extends AbstractType
  16. {
  17.     public function __construct(TranslatorInterface $translator)
  18.     {
  19.         $this->translator $translator;
  20.     }
  21.     public function buildForm(FormBuilderInterface $builder, array $options): void
  22.     {
  23.         $builder
  24.             ->add('gender'ChoiceType::class, [
  25.                 'label' => false,
  26.                 'choices' => [
  27.                     "M" => "Mr",
  28.                     "Mme" => "Mme",
  29.                     "Autre" => "autre"
  30.                 ],
  31.                 'attr' => [
  32.                     "class" => "field-text",
  33.                     "placeholder" => $this->translator->trans('Civilité')
  34.                 ]
  35.             ])
  36.             ->add('firstName'TextType::class, [
  37.                 'label' => false,
  38.                 'attr' => [
  39.                     "class" => "field-text",
  40.                     "placeholder" => $this->translator->trans('Prénom')
  41.                 ]
  42.             ])
  43.             ->add('lastName'TextType::class, [
  44.                 'label' => false,
  45.                 'attr' => [
  46.                     "class" => "field-text",
  47.                     "placeholder" => $this->translator->trans('Nom')
  48.                 ]
  49.             ])
  50.             ->add('email'EmailType::class, [
  51.                 'label' => false,
  52.                 'attr' => [
  53.                     "class" => "field-text",
  54.                     "placeholder" => 'ex : exemple@mail.fr'
  55.                 ]
  56.             ])
  57.             ->add('phone'TelType::class, [
  58.                 'label' => false,
  59.                 'attr' => [
  60.                     "class" => "field-text",
  61.                     "placeholder" => 'ex : 06 07 08 09 10'
  62.                 ]
  63.             ])
  64.             ->add('subject'TextType::class, [
  65.                 'label' => false,
  66.                 'attr' => [
  67.                     "class" => "field-text",
  68.                     "placeholder" => $this->translator->trans('Sujet')
  69.                 ]
  70.             ])
  71.             ->add('content'TextareaType::class, [
  72.                 'label' => false,
  73.                 'attr' => [
  74.                     "class" => "field-textarea",
  75.                     "placeholder" => $this->translator->trans('Votre message')
  76.                 ]
  77.             ])
  78.             ->add('rgpd'CheckboxType::class, [
  79.                 'label' => $this->translator->trans("J'accèpte que les données renseignées soient conservée conformément à la politique de confidentialité"),
  80.             ])
  81.         ;
  82.     }
  83.     public function configureOptions(OptionsResolver $resolver): void
  84.     {
  85.         $resolver->setDefaults([
  86.             'data_class' => ContactForm::class,
  87.         ]);
  88.     }
  89. }