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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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