[Formulaires]Problème avec isValid()
Bonjour,
j'ai créé un formulaire basé sur ma classe User (qui hérite de BaseUser du FOSUserBundle) dont voici le code :
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
| <?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:
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