erreur validation formulaire FosUserBundle
Bonjour, petit soucie de formulaire FosUserBundle
Donc voila quand j'enregistre un nouvelle utilisateur via mon formulaire d' enregistrement (methode registerAction()), je voudrais qu'après soumission du formulaire récupérer les erreurs :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
public function registerAction(Request $request)
{
$errors= null;
/** @var $formFactory \FOS\UserBundle\Form\Factory\FactoryInterface */
$formFactory = $this->container->get('fos_user.registration.form.factory');
/** @var $userManager \FOS\UserBundle\Model\UserManagerInterface */
$userManager = $this->container->get('fos_user.user_manager');
/** @var $dispatcher \Symfony\Component\EventDispatcher\EventDispatcherInterface */
$dispatcher = $this->container->get('event_dispatcher');
$user = $userManager->createUser();
$user->setEnabled(true);
$event = new GetResponseUserEvent($user, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event);
if (null !== $event->getResponse()) {
return $event->getResponse();
}
$form = $formFactory->createForm();
$form->setData($user);
if ('POST' === $request->getMethod()) {
$form->bind($request);
var_dump($form->getErrors());exit;
var_dump($form->getErrorsAsString());exit;
if ($form->isValid()) {
$event = new FormEvent($form, $request);
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);
$userManager->updateUser($user);
if (null === $response = $event->getResponse()) {
$url = $this->container->get('router')->generate('fos_user_registration_confirmed');
$response = new RedirectResponse($url);
}
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $response));
return $response;
}else{
$validator = $this->container->get('validator');
$errors = $validator->validate($user);
var_dump($errors);exit;
}
}
return $this->container->get('templating')->renderResponse('FOSUserBundle:Registration:register.html.'.$this->getEngine(), array(
'form' => $form->createView(),
));
} |
alors je me trouve face à une mascarade, quand je fais un var_dump de $form->getErrors(), il y a aucune erreur pourtant OUI il y a bien des erreurs car je ne peut pas valider (methode isValid() ) et le var_dump de getErrorsAsString() me renvoye bien mes erreurs.
De plus si j'utilise le code ci dessous
Code:
1 2 3
| $validator = $this->container->get('validator');
$errors = $validator->validate($user);
var_dump($errors);exit; |
aucune erreur egalement
Une idée les amis
Merci