<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
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): void
{
$builder
->add('name', TextType::class, [
'label' => 'Nom et prénom *',
'required' => true,
'label_attr' => [
'class'=> 'label-form'
],
'attr' => [
'class' => 'input-form',
'placeholder' => 'Votre nom et prénom',
]
])
->add('postalcode', TextType::class, [
'label' => 'Code postal *',
'required' => true,
'label_attr' => [
'class'=> 'label-form'
],
'attr' => [
'class' => 'input-form',
'placeholder' => 'Votre code postal',
'pattern' => '\d{2}[ ]?\d{3}',
]
])
->add('email', EmailType::class, [
'label' => 'Email *',
'required' => true,
'label_attr' => [
'class'=> 'label-form'
],
'attr' => [
'class' => 'input-form',
'placeholder' => 'Votre adresse mail',
]
])
->add('phone', TelType::class, [
'label' => 'Numéro de téléphone *',
'label_attr' => [
'class'=> 'label-form'
],
'attr' => [
'class' => 'input-form',
'placeholder' => 'Votre numéro de téléphone',
'pattern' => '^(0|\+33)[1-9]([-. ]?[0-9]{2}){2,4}$',
]
])
->add('choice', ChoiceType::class, [
'label' => 'Prestation désirée *',
'required' => true,
'choices' => [
'Couverture' => "Couverture",
'Isolation thermique extérieur' => "Isolation thermique extérieur",
'Isolation des combles' => "Isolation des combles",
'Ravalement de façade' => "Ravalement de façade",
'Intérieur' => "Intérieur",
],
'expanded' => false,
'multiple' => false,
'label_attr' => [
'class'=> 'label-form'
],
'attr' => [
'class' => 'input-form',
'placeholder' => 'Couverture, Isolation, Ravalement de façade,...',
]
])
->add('message', TextareaType::class, [
'label' => 'Message *',
'required' => true,
'label_attr' => [
'class'=> 'label-form'
],
'attr' => [
'class' => 'input-form',
'placeholder' => "Description des travaux (pièce, surface, matériaux souhaité....)",
'cols' => '30',
'rows' => '10',
]
])
->add('dataPolicy', CheckboxType::class, [
'label' => "En soumettant ce formulaire, j'accepte que mes informations soient utilisées exclusivement dans le cadre de ma demande et de la relation commerciale éthique et personnalisée qui pourrait en découler.",
'required' => true,
'mapped' => false,
'label_attr' => [
'class'=> 'label-form',
],
'attr' => [
'class' => 'checkbox-effect checkbox-effect-1',
]
])
->add('submit', SubmitType::class, [
'label' => "FAIRE MA DEMANDE DE DEVIS",
'attr'=>[
'class' => 'btn-devis',
]
])
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
// Configure your form options here
]);
}
}