2 namespace Wallabag\CoreBundle\Form\Type
;
4 use Symfony\Component\Form\AbstractType
;
5 use Symfony\Component\Form\FormBuilderInterface
;
6 use Symfony\Component\Validator\Constraints
;
7 use Symfony\Component\Validator\ExecutionContextInterface
;
8 use Doctrine\Bundle\DoctrineBundle\Registry
;
10 class ForgotPasswordType
extends AbstractType
12 private $doctrine = null;
14 public function __construct(Registry
$doctrine)
16 $this->doctrine
= $doctrine;
19 public function buildForm(FormBuilderInterface
$builder, array $options)
22 ->add('email', 'email', array(
23 'constraints' => array(
24 new Constraints\
Email(),
25 new Constraints\
NotBlank(),
26 new Constraints\
Callback(array(array($this, 'validateEmail'))),
32 public function getName()
34 return 'forgot_password';
37 public function validateEmail($email, ExecutionContextInterface
$context)
39 $user = $this->doctrine
40 ->getRepository('WallabagCoreBundle:User')
41 ->findOneByEmail($email);
44 $context->addViolationAt(
46 'No user found with this email',