<?php
/**
* @author Jérôme Mulsant <jerome@rue-de-la-vieille.fr>
*/
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\Form;
use Symfony\Component\Form\FormError;
class ResetRequestType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('email', EmailType::class, array(
'label' => null,
'required' => true,
));
$builder->add('submit', SubmitType::class, array('label' => 'Envoyer la demande'));
// $builder->addEventListener(FormEvents::SUBMIT, array($this, 'onSubmit'));
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'App\Entity\User',
'validation_groups' => array('request_reset')
));
}
/**
* @param FormEvent $event
*/
public function onSubmit(FormEvent $event)
{
$request = $event->getData();
$email = $request->getEmail();
if ($email == null) {
$field = $event->getForm()->get("email");
$field->addError(new FormError('Veuillez renseigner ce champ.'));
}
}
/**
* Returns the name of this type.
*
* @return string The name of this type
*/
public function getName()
{
return 'request_reset';
}
}