<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\OptionsResolver\OptionsResolver;
class LostPassType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('email', EmailType::class, [
])
->add('Enregistrer', SubmitType::class, [
'label' => "Envoyer moi le mail de récupération "
]);
// On ajoute une fonction qui va écouter un évènement
$builder->addEventListener(
FormEvents::PRE_SET_DATA,
function (FormEvent $event) { // La fonction à exécuter lorsque l'évènement est déclenché
// On récupère notre objet User sous-jacent
$user = $event->getData();
if (null === $user) {
return; // On sort de la fonction sans rien faire lorsque $user vaut null
}
}
);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'App\Entity\User'
));
}
}