<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
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)
{
$builder
->add('subject', TextType::class, [
'label' => 'Objet',
])
->add('lastname', TextType::class, [
'label' => 'Nom',
'attr' => array(
'placeholder' => '',
)
])
->add('firstname', TextType::class, [
'label' => 'Prénom',
'attr' => array(
'placeholder' => '',
)
])
->add('phone', TelType::class, [
'label' => 'Téléphone',
'attr' => array(
'placeholder' => '',
)
])
->add('email', EmailType::class, [
'label' => 'Adresse E-mail',
'attr' => array(
'placeholder' => '',
)
])
->add('message', TextareaType::class, [
'label' => 'Message',
'attr' => array(
'placeholder' => '',
)
])
->add('confidentialite', CheckboxType::class, [
'label' => 'En soumettant ce formulaire, j’accepte que les informations saisies soient exploitées dans le cadre de la demande de devis et de la relation commerciale qui peut en découler.',
'label_attr' => array(
'class' => '',
),
'attr' => [
'class' => 'form-check-input',
'expanded' => true,
'required' => true,
'disabled' => false,
]
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data-class' => Contact::class,
]);
}
}
class TelType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'invalid_message' => 'Please provide a valid phone number.',
]);
}
/**
* {@inheritdoc}
*/
public function getParent(): ?string
{
return TextType::class;
}
/**
* {@inheritdoc}
*/
public function getBlockPrefix(): string
{
return 'tel';
}
}