<?php
namespace App\Form;
use App\Entity\MessageClient;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Validator\Constraints\Email;
class MessageClientFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('name', TextType::class, [
"label" => "Votre nom",
"trim" => true,
"required" => true,
"constraints" => [
new NotBlank(["message" => "Nom obligatoire"])
]
])
->add('email', TextType::class, [
"label" => "Votre adresse email",
"trim" => true,
"required" => true,
"constraints" => [
new NotBlank(["message" => "Adresse email obligatoire"]),
new Email(["message" => "Adresse email invalide"])
]
])
->add('phoneNumber', TextType::class, [
"label" => "Votre numéro de téléphone",
"trim" => true,
"required" => true,
"constraints" => [
new NotBlank(["message" => "Numéro de téléphone obligatoire"])
]
])
->add('service', ChoiceType::class, [
"label" => "Votre besoin",
"trim" => true,
"required" => true,
'choices' => [
'Consultation' => "Consultation",
'Formation' => "Formation",
"Travail énergétique" => "Travail énergétique",
"Autre" => "Autre"
],
"constraints" => [
new NotBlank(["message" => "Service obligatoire"])
]
])
->add('preferredDate', DateType::class, [
"label" => "Vos disponibilités",
"widget" => "single_text",
"trim" => true,
"required" => true,
"constraints" => [
new NotBlank(["message" => "Date obligatoire"])
]
])
->add('message', TextareaType::class, [
"label" => "Message",
"trim" => true,
"required" => true,
"attr" => ["rows" => "10"],
"constraints" => [
new NotBlank(["message" => "Message obligatoire"])
]
])
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => MessageClient::class,
]);
}
}