<?php
namespace App\Form;
use App\Entity\Evosimul;
use Karser\Recaptcha3Bundle\Form\Recaptcha3Type;
use Karser\Recaptcha3Bundle\Validator\Constraints\Recaptcha3;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ButtonType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
class DiagnostiqueFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('projet', ChoiceType::Class,[
'label'=>'Type de projet',
'choices' =>[
'Panneaux solaires'=> 'Panneaux solaires',
'Pompe à chaleur'=> 'Pompe à chaleur',
'Borne de recharge'=> 'Borne de recharge',
'Isolation de combles'=> 'Isolation de combles',
'Isolation de sols'=> 'Isolation de sols',
'Inject Styrene'=> 'Inject Styrene',
'Autre'=> 'Autre'
],
])
->add('nom',TextType::Class)
->add('prenom',TextType::Class)
->add('ville',TextType::Class)
->add('comments',TextType::Class,[
'label'=>'Commentaire',
])
->add('tel',TextType::Class,[
'required'=>false,
'label'=>'Téléphone',
])
->add('captcha', Recaptcha3Type::class, [
'constraints' => new Recaptcha3(),
'action_name' => 'diagnostique_gratuit',
])
->add('submit',SubmitType::class,[
'label' => 'Envoyer'
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Evosimul::class,
'csrf_protection' => false,
// the name of the hidden HTML field that stores the token
'csrf_field_name' => '_token',
// an arbitrary string used to generate the value of the token
// using a different string for each form improves its security
'csrf_token_id' => 'simul'
]);
}
}