Bonjour,
j'ai créé un formulaire basé sur ma classe User (qui hérite de BaseUser du FOSUserBundle) dont voici le code :
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
<?php
namespace BEL\UserBundle\Form\Type;
 
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
 
class UtilisateursType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add('username')
            ->add('email')
            ->add('enabled')
            ->add('password', 'password')
            ->add('roles', 'choice', array('choices'     => array('ROLE_ADMIN' => 'Administrateur', 'ROLE_SUPER_ADMIN' => 'Super Administrateur'),
                                           'multiple'    => false,
                                           'expanded'    => false,
                                           'property_path' => false))
            ->add('user_nom')
            ->add('user_prenom')
            ->add('user_tel_travail');
    }
 
    public function getDefaultOptions(array $options)
    {
        return array(
            'data_class' => 'BEL\UserBundle\Entity\User',
        );
    }
 
    public function getName()
    {
        return 'User';
    }
}
?>
Dans mon contrôleur j'ai cette méthode :
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
public function creerUtilisateurAction()
    {
        $request  = $this->get('request'); // On récupère l'objet request via le service container
        $utilisateur = new User(); // On créé notre objet Utilisateur vierge
 
        $form = $this->get('form.factory')->create(new UtilisateursType(), $utilisateur); // On bind l'objet Utilisateur à notre formulaire UtilisateurType
 
        if ('POST' == $request->getMethod()) { // Si on a posté le formulaire
            $form->bindRequest($request); // On bind les données du form
            if ($form->isValid()) { // Si le formulaire est valide
 
                // Pour récupérer le service UserManager du bundle
                $userManager = $this->get('fos_user.user_manager');
 
                die('<pre>'.print_r($userManager, true));
 
                // On envoi une 'flash' pour indiquer à l'utilisateur que le bureau est ajouté
                $this->get('session')->setFlash('notice', 
                    $this->get('translator')->trans('L\'utilisateur a été ajouté')
                );
 
                // On redirige vers la page d'accueil du site
                return new RedirectResponse($this->generateUrl('home'));
            } 
        }
 
        return array('form' => $form->createView(), 'utilisateur' => $utilisateur);
    }
Le problème que je rencontre est que je ne passe JAMAIS dans le if($form->isValid()) y compris quand tous mes champs sont remplis avec des données correctes.

Quelqu'un saurait pourquoi ?

Merci d'avance