<?php
namespace App\Form;
use App\Entity\ContactForm;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Config\Framework\Workflows\WorkflowsConfig\PlaceConfig;
use Symfony\Contracts\Translation\TranslatorInterface;
class ContactType extends AbstractType
{
public function __construct(TranslatorInterface $translator)
{
$this->translator = $translator;
}
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('gender', ChoiceType::class, [
'label' => false,
'choices' => [
"M" => "Mr",
"Mme" => "Mme",
"Autre" => "autre"
],
'attr' => [
"class" => "field-text",
"placeholder" => $this->translator->trans('Civilité')
]
])
->add('firstName', TextType::class, [
'label' => false,
'attr' => [
"class" => "field-text",
"placeholder" => $this->translator->trans('Prénom')
]
])
->add('lastName', TextType::class, [
'label' => false,
'attr' => [
"class" => "field-text",
"placeholder" => $this->translator->trans('Nom')
]
])
->add('email', EmailType::class, [
'label' => false,
'attr' => [
"class" => "field-text",
"placeholder" => 'ex : exemple@mail.fr'
]
])
->add('phone', TelType::class, [
'label' => false,
'attr' => [
"class" => "field-text",
"placeholder" => 'ex : 06 07 08 09 10'
]
])
->add('subject', TextType::class, [
'label' => false,
'attr' => [
"class" => "field-text",
"placeholder" => $this->translator->trans('Sujet')
]
])
->add('content', TextareaType::class, [
'label' => false,
'attr' => [
"class" => "field-textarea",
"placeholder" => $this->translator->trans('Votre message')
]
])
->add('rgpd', CheckboxType::class, [
'label' => $this->translator->trans("J'accèpte que les données renseignées soient conservée conformément à la politique de confidentialité"),
])
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => ContactForm::class,
]);
}
}