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 :

[Form] Validation de plusieurs formulaire d'un coup


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 11
    Par défaut [Form] Validation de plusieurs formulaire d'un coup
    Bonjour à tous,

    Je suis actuellement en train de développer un site web et sur une de mes pages, j'ai affiché XX formulaires concernant XX entités.
    Jusque là pas de problème.

    J'ai ensuite créé un bouton avec du javascript pour valider tous mes formulaires en un click :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" value="Tout Valider" onClick="javascript:document.form111517159.submit();document.form111519716.submit();"/>
    La liste des formXXXXXX.submit(); est générée automatiquement en fonction de mes formulaires.

    Mon problème est que dans mon controller, je ne sais pas comment gérer la validation de XX formulaire d'un coup.
    Chaque formulaire à la même action.
    Est-ce que mes formulaires vont être traité un a un comme dans une boucle ?
    Est-ce que mes formulaires vont être tous envoyé à mon controller comme une collection ?

    Pour le moment j'ai ce bout de code dans mon controller :
    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
    $entity = $em->getRepository('WebscmServiceBundle:Courrier')->find($id);
    			$form   = $this->createForm(new CourrierCommandeType(), $entity);	
     
    			$request = $this->getRequest();
    			$form->bindRequest($request);
     
    			if ($form->isValid()) 
    			{
    				$em->persist($entity);
    				$em->flush();
     
    				return $this->redirect($this->generateUrl('WebscmServiceBundle_Courrier_index'));	
    			}
     
    			return $this->redirect($this->generateUrl('WebscmServiceBundle_Courrier_index'));
    Mais au moment du if ($form->isValid()), ça plante.

    Auriez-vous une idée ou une indication qui pourrait m'aider ?

    Merci d'avance !

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Par défaut
    la validation du form se plante, qu'est ce que tu met mis comme erreur ?

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 11
    Par défaut
    Je me suis mal exprimé désolé.

    Ca ne plante pas, c'est juste que je ne passe pas dans mon if ($form->isValid()).

    Du coup je part dans le return $this->redirect($this->generateUrl('WebscmServiceBundle_Courrier_index')); qui se trouve après.

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Par défaut
    Je vois tu t'es gouré: le 1er return : une fois tu as appuyé sur le bouton
    'WebscmServiceBundle_Courrier_index' est la route de rédiraction

    et le 2em return définie ta vue dans la quelle se trouve ton formulaire donc faut le passer !! voila en gros ce qu'l fallait savoir !! aprés tu peux faire ce que tu veux !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if ($form->isValid()) {
                $em = $this->getDoctrine()->getEntityManager();
                $em->persist($entity);
                $em->flush();
     
                return $this->redirect($this->generateUrl('WebscmServiceBundle_Courrier_index'));
     
            }
     
                return $this->render('WebscmServiceBundle:taVue.html.twig', array(
                'entity' => $entity,
                'form'   => $form->createView()
            ));
        }

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 11
    Par défaut
    Je savais ça, mais c'est pas la gestion de l'erreur qui me pose problème là. J'ai délibérément choisi de ne pas renvoyer les formulaires en cas d'erreur de validation.

    Mon problème est que je n'arrive pas a valider tous mes formulaires en un seul click.

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Par défaut
    Ce sont des formulaires imbriqués ?

Discussions similaires

  1. Valider individuellement plusieurs formulaires
    Par Lekno dans le forum jQuery
    Réponses: 8
    Dernier message: 16/05/2013, 10h30
  2. [2.x] [Form] Imbrication de plusieurs formulaires et mélange du prototype
    Par FadeToBlack dans le forum Symfony
    Réponses: 13
    Dernier message: 16/04/2013, 14h37
  3. [2.x] [Form] Validation d'un formulaire
    Par cescu dans le forum Symfony
    Réponses: 6
    Dernier message: 13/11/2012, 21h36
  4. validation de plusieurs formulaires sur la meme page
    Par sheisqo dans le forum Langage
    Réponses: 3
    Dernier message: 26/03/2009, 21h55
  5. Réponses: 3
    Dernier message: 28/05/2008, 11h43

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