IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

[Formulaires]Problème avec isValid() [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre habitué Avatar de magicbisous-nours
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Points : 177
    Points
    177
    Par défaut [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 : 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
    [/HS]

    J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    récupère les erreurs tu verras bien

  3. #3
    Membre habitué Avatar de magicbisous-nours
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Points : 177
    Points
    177
    Par défaut
    Euh... d'accord mais je fais comment ?
    [/HS]

    J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par magicbisous-nours Voir le message
    Euh... d'accord mais je fais comment ?
    ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{ form_errors(form) }}
    Tout est dans la doc
    http://symfony.com/doc/current/book/...-in-a-template

  5. #5
    Membre habitué Avatar de magicbisous-nours
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Points : 177
    Points
    177
    Par défaut
    Merci ! c'est cool ça marche. Il me suffisait d'ajouter à la fin de mon formulaire pour que cela fonctionne !
    [/HS]

    J'adorerai changer le monde, mais pas moyen de mettre la main sur le code source

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FORMULAIRE]Problème avec des Formulaires
    Par choups76 dans le forum IHM
    Réponses: 17
    Dernier message: 12/04/2007, 12h27
  2. Réponses: 3
    Dernier message: 04/04/2007, 11h25
  3. [Formulaire]Problème avec un formulaire
    Par Melhiril dans le forum IHM
    Réponses: 5
    Dernier message: 04/04/2007, 10h19
  4. Réponses: 12
    Dernier message: 02/04/2007, 16h17
  5. Formulaires : problème avec les slashes et les quotes
    Par GarGamel55 dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2005, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo