public function createService(ServiceLocatorInterface $formElementManager) { if ($formElementManager instanceof FormElementManager) { $sm = $formElementManager->getServiceLocator(); $fem = $formElementManager; } else { $sm = $formElementManager; $fem = $sm->get('FormElementManager'); } $options = $sm->get('zfcuser_module_options'); $form = new Form\ChangeEmail(null, $options); // Inject the FormElementManager to support custom FormElements $form->getFormFactory()->setFormElementManager($fem); $form->setInputFilter(new Form\ChangeEmailFilter($options, new Validator\NoRecordExists(array('mapper' => $sm->get('zfcuser_user_mapper'), 'key' => 'email')))); return $form; }