src/Form/ContactType.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  5. use Symfony\Component\Form\Extension\Core\Type\TelType;
  6. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  7. use Symfony\Component\Form\FormBuilderInterface;
  8. use Symfony\Component\OptionsResolver\OptionsResolver;
  9. use Symfony\Component\Validator\Constraints\NotNull;
  10. use Symfony\Contracts\Translation\TranslatorInterface;
  11. class ContactType extends AbstractType
  12. {   private TranslatorInterface $translator;
  13.     public function __construct(TranslatorInterface $translator)
  14.     {
  15.         $this->translator $translator;
  16.     }
  17.     public function buildForm(FormBuilderInterface $builder, array $options): void
  18.     {
  19.         $builder
  20.             ->add('firstName'null, [
  21.                 'attr' => [
  22.                     'class' => 'bg_input',
  23.                     'placeholder' => $this->translator->trans('Pages.Contact.Messages.FirstNamePlaceholder',[], 'messages_front'),
  24.                 ],
  25.                 'constraints' => [
  26.                     new NotNull()
  27.                 ],
  28.                 'label_attr' => [
  29.                     'hidden' => true
  30.                 ]
  31.             ])
  32.             ->add('lastName'null, [
  33.                 'constraints' => [
  34.                     new NotNull()
  35.                 ],
  36.                 'attr' => [
  37.                     'class' => 'bg_input',
  38.                     'placeholder' => $this->translator->trans('Pages.Contact.Messages.LastNamePlaceholder',[], 'messages_front'),
  39.                 ],
  40.                 'label_attr' => [
  41.                     'hidden' => true
  42.                 ]
  43.             ])
  44.             ->add('email'EmailType::class, [
  45.                 'constraints' => [
  46.                     new NotNull(),
  47.                 ],
  48.                 'attr' => [
  49.                     'class' => 'bg_input',
  50.                     'placeholder' => $this->translator->trans('Pages.Contact.Messages.EmailPlaceholder',[], 'messages_front'),
  51.                 ],
  52.                 'label_attr' => [
  53.                     'hidden' => true
  54.                 ]
  55.             ])
  56.             ->add('phone'TelType::class , [
  57.                 'attr' => [
  58.                     'class' => 'bg_input',
  59.                     'placeholder' => $this->translator->trans('Pages.Contact.Messages.TelephonePlaceholder',[], 'messages_front'),
  60.                 ],
  61.                 'label_attr' => [
  62.                     'hidden' => true
  63.                 ]
  64.             ])
  65.             ->add('message'TextareaType::class, [
  66.                 'constraints' => [
  67.                     new NotNull(),
  68.                 ],
  69.                 'attr' => [
  70.                     'class' => 'bg_input',
  71.                     'placeholder' => $this->translator->trans('Pages.Contact.Messages.MessagePlaceholder',[], 'messages_front'),
  72.                     'rows' => 5
  73.                 ],
  74.                 'label_attr' => [
  75.                     'hidden' => true
  76.                 ]
  77.             ]);
  78.     }
  79.     public function configureOptions(OptionsResolver $resolver): void
  80.     {
  81.         $resolver->setDefaults([
  82.             'data_class' => null,
  83.             'required' => false
  84.         ]);
  85.     }
  86.     public function getBlockPrefix(): string
  87.     {
  88.         return "";
  89.     }
  90. }