doctrine = $doctrine; } public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('email', 'email', array( 'required' => true, 'constraints' => array( new Constraints\Email(), new Constraints\NotBlank(), new Constraints\Callback(array(array($this, 'validateEmail'))), ), )) ; } public function getName() { return 'forgot_password'; } public function validateEmail($email, ExecutionContextInterface $context) { $user = $this->doctrine ->getRepository('WallabagCoreBundle:User') ->findOneByEmail($email); if (!$user) { $context->addViolationAt( 'email', 'No user found with this email', array(), $email ); } } }