Intereting Posts
Подключитесь к внешнему серверу с помощью phpMyAdmin Как использовать переменные PHP в качестве значений тега <script> при рендеринге кода jQuery в представлении CakePHP? CodeIgniter Загрузка больших файлов Проверьте, содержит ли строка цифры и буквы Как переопределить массив конфигурации в контроллере в CodeIgniter? PHP-рекурсивный массив из списка Codeigniter: Не удалось найти модель, которую вы указали Как проверить, включен ли адрес внутри региона в API Карт Google Получение элементов DOM по имени класса Неустранимая ошибка: вызовите функцию-член функции count () для не-объекта в Как отправить электронную почту с локального сервера WAMP для отправки электронной почты Gmail Hotmail или так далее? получать непрочитанные сообщения на конкретном канале pubnub php sdk Sugarcrm, написание пользовательского кода при сохранении записи Конкатенация столбцов возвращает «Null» Mysql – Php Объединение подготовленного оператора в функцию

Symfony2 FOSUserBundle, расширяющая регистрационную форму, вызывает дублирование электронной почты для подтверждения

У меня есть тип пользовательской формы регистрации, определенный следующим образом:

.... public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); $builder ->remove('username') ->add('firstName') ->add('lastName') ->add('hei', 'entity', array( 'class' => 'AcmeAcmeBundle:HigherEducationalInstitution', 'label' => 'Higher Educational Institution' )); } .... 

Пользовательский контроллер работает почти так же, как и в FOSUserbundle, а также проверяет действительную форму

 ... public function registerAsStudentAction(Request $request) { /** @var $formFactory \FOS\UserBundle\Form\Factory\FactoryInterface */ $formFactory = $this->get('acme.user_form_factory'); /** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */ $userManager = $this->get('fos_user.user_manager'); /** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */ $dispatcher = $this->get('event_dispatcher'); $user = $userManager->createUser(); $user->setEnabled(true); $dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, new UserEvent($user, $request)); $form = $formFactory->getStudentRegistrationForm(); $form->setData($user); if ('POST' === $request->getMethod()) { $form->bind($request); if ($form->isValid()) { $event = new FormEvent($form, $request); $dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event); $user->addRole('ROLE_STUDENT'); $userManager->updateUser($user); if (null === $response = $event->getResponse()) { $url = $this->get('router')->generate('fos_user_registration_confirmed'); $response = new RedirectResponse($url); } $dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response)); return $response; } } return $this->render('AcmeUserBundle:Registration:register_student.html.twig', array('form' => $form->createView())); } .... 

Когда я пытаюсь зарегистрироваться с адресом электронной почты, который уже используется, я получаю исключение для исключения для повторяющейся записи для уникального ключа в письме.

В обычной форме регистрации у меня появляется ошибка формы, показывающая, что адрес электронной почты уже использовался. Как форма может пройти валидатор с дублирующим адресом электронной почты в моей форме, но не в оригинальной регистрационной форме?