<?php
namespace App\Form;
use App\Model\ContactDTO;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class ContactType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$locale = $options['locale'];
$builder
->add('firstname', TextType::class, [
'label' => false,
'attr' => [
'placeholder' => $locale === 'fr' ? 'Prénom *' : 'Firstname *',
'class' => 'w-100'
],
'required' => true,
])
->add('lastname', TextType::class, [
'label' => false,
'attr' => [
'placeholder' => $locale === 'fr' ? 'Nom *' : 'Lastname *',
'class' => 'w-100'
],
'required' => true
])
->add('company', TextType::class, [
'label' => false,
'attr' => [
'placeholder' => $locale === 'fr' ? 'Société' : 'Company *',
'class' => 'w-100'
],
'required' => false
])
->add('phone', TelType::class, [
'label' => false,
'attr' => [
'placeholder' => $locale === 'fr' ? 'Tél' : 'Phone *',
'class' => 'w-100'
],
'required' => false
])
->add('email', EmailType::class, [
'label' => false,
'attr' => [
'placeholder' => $locale === 'fr' ? 'Mail *' : 'Email *',
'class' => 'w-100'
],
'required' => true
])
->add('message', TextareaType::class, [
'label' => false,
'attr' => [
'placeholder' => $locale === 'fr' ? 'Votre message' : 'Your message'
],
'required' => false
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => ContactDTO::class,
'locale' => 'locale'
]);
}
}