<?php
namespace App\Form\CMS;
use App\Entity\CMS\ContactForm;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
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;
use Symfony\Component\Validator\Constraints\Length;
class ContactFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('contactName', TextType::class, ['attr' => ['placeholder' => 'Nom / prénom *']])
->add('contactEmail', EmailType::class, ['attr' => ['placeholder' => 'Votre email *']])
->add('mailObject', TextType::class, [
'required' => false,
'attr' => ['placeholder' => 'L\'objet de votre message']
])
->add('message', TextareaType::class, [
'constraints' => [new Length([
'min' => 3, 'minMessage' => 'Vous devez saisir 3 caractères minimum.',
'max'=> 5000, 'maxMessage' => 'Vous pouvez saisir 5000 caractères maximum.',
])],
'attr' => ['placeholder' => 'Votre message', 'minlength'=>'3', 'maxlength'=>'5000'],
])
->add('captcha', TextType::class, ['attr' => ['placeholder' => 'Captcha *']])
->add('envoyer', SubmitType::class, ['attr' => ['class' => 'button']])
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver
->setDefaults(['data_class' => ContactForm::class]);
}
}