src/Form/ResetRequestType.php line 20

Open in your IDE?
  1. <?php
  2. /**
  3. * @author Jérôme Mulsant <jerome@rue-de-la-vieille.fr>
  4. */
  5. namespace App\Form;
  6. use Symfony\Component\Form\AbstractType;
  7. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  8. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  9. use Symfony\Component\Form\FormBuilderInterface;
  10. use Symfony\Component\OptionsResolver\OptionsResolver;
  11. use Symfony\Component\OptionsResolver\OptionsResolverInterface;
  12. use Symfony\Component\Form\FormEvents;
  13. use Symfony\Component\Form\FormEvent;
  14. use Symfony\Component\Form\Form;
  15. use Symfony\Component\Form\FormError;
  16. class ResetRequestType extends AbstractType
  17. {
  18. public function buildForm(FormBuilderInterface $builder, array $options)
  19. {
  20. $builder->add('email', EmailType::class, array(
  21. 'label' => null,
  22. 'required' => true,
  23. ));
  24. $builder->add('submit', SubmitType::class, array('label' => 'Envoyer la demande'));
  25. // $builder->addEventListener(FormEvents::SUBMIT, array($this, 'onSubmit'));
  26. }
  27. public function configureOptions(OptionsResolver $resolver)
  28. {
  29. $resolver->setDefaults(array(
  30. 'data_class' => 'App\Entity\User',
  31. 'validation_groups' => array('request_reset')
  32. ));
  33. }
  34. /**
  35. * @param FormEvent $event
  36. */
  37. public function onSubmit(FormEvent $event)
  38. {
  39. $request = $event->getData();
  40. $email = $request->getEmail();
  41. if ($email == null) {
  42. $field = $event->getForm()->get("email");
  43. $field->addError(new FormError('Veuillez renseigner ce champ.'));
  44. }
  45. }
  46. /**
  47. * Returns the name of this type.
  48. *
  49. * @return string The name of this type
  50. */
  51. public function getName()
  52. {
  53. return 'request_reset';
  54. }
  55. }