Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/08/2011, 05h15   #1
Membre émérite
 
Inscription : septembre 2002
Messages : 1 634
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : septembre 2002
Messages : 1 634
Points : 998
Points : 998
Par défaut Formulaire jamais validé

Bonjour,

Voici le formulaire :

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
 
const PRODUIT = 'produit';
 
    public function configure()
    {
        // nom des produits disponibles
        $tabNomProduit = array();
        foreach ($this->defaults[self::PRODUIT] as $boutique_produit)
        {
            $nomProduit = $boutique_produit->getNomProduit();
            $tabNomProduit[$nomProduit] = $nomProduit;
        }
 
 
        // input formulaire
        $this->setWidgets(array(
            self::PRODUIT => new sfWidgetFormSelectRadio(array('choices' => $tabNomProduit)),
        ));
 
        // validation du formulaire
        $this->setValidators(array(
            self::PRODUIT   => new sfValidatorChoice(array('choices' => array_keys($tabNomProduit), 'required' => true)),
        ));
 
        // format des paramètres du formulaire
        $this->widgetSchema->setNameFormat('choix[%s]');
    }
Dans le code suivant, le formulaire n'est jamais validé :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
protected function processForm (sfWebRequest $request, sfForm $form)
    {
        $form->bind($request->getParameter($form->getName()));
 
        if ($form->isValid())
        // le formulaire est validé
        {
            ...
        }    
    }
... la fonction est appelée comme ceci :

Code :
1
2
3
4
5
6
7
 
if ($request->isMethod('post'))
        // le formulaire a été soumis
        {    
            $this->form = new CommandeForm();        
            $this->processForm($request, $this->form);
        }
Que faut-il faire pour que la validation fonctionne ?

A+
__________________
La connaissance ne sert que si elle est partagée.
http://ms2i.net
Mister Nono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2011, 08h07   #2
Membre émérite
 
Inscription : septembre 2002
Messages : 1 634
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : septembre 2002
Messages : 1 634
Points : 998
Points : 998
Bonjour,

Au bout de nombreuses heures de recherche, le formulaire n'est toujours pas validé.

Pouvez-vous me mettre sur une piste ?

Merci d'avance.

A+
__________________
La connaissance ne sert que si elle est partagée.
http://ms2i.net
Mister Nono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 23h34   #3
Membre émérite
 
Inscription : septembre 2002
Messages : 1 634
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : septembre 2002
Messages : 1 634
Points : 998
Points : 998
Citation:
Envoyé par Mister Nono Voir le message
Bonjour,

Au bout de nombreuses heures de recherche, le formulaire n'est toujours pas validé.

Pouvez-vous me mettre sur une piste ?

Merci d'avance.

A+
Je viens de mettre le code source (sans la librairie Symfony) à l'adresse : http://ms2i.net/demo/shop.zip pour quelques jours.

Quelqu'un peut-il avoir la gentillesse de le tester sur sa machine car là je cale et cela fait maintenant plusieurs jours que je cherche la solution ?

Merci d'avance pour votre aide.

A+
__________________
La connaissance ne sert que si elle est partagée.
http://ms2i.net
Mister Nono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 10h26   #4
Membre du Club
 
Homme philippe marko
Développeur multimédia
Inscription : février 2010
Messages : 48
Détails du profil
Informations personnelles :
Nom : Homme philippe marko
Âge : 26
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur multimédia

Informations forums :
Inscription : février 2010
Messages : 48
Points : 69
Points : 69
Salut,

De visu, je pense que c'est au niveau du:
Code :
$form->bind($request->getParameter($form->getName()));
Que je remplacerais par:
Code :
$form->bind($request->getParameter('choix'));
Mais pas sur du tout ....
timidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 15h02   #5
Membre émérite
 
Inscription : septembre 2002
Messages : 1 634
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : septembre 2002
Messages : 1 634
Points : 998
Points : 998
Citation:
Envoyé par timidou Voir le message
Salut,

De visu, je pense que c'est au niveau du:
Code :
$form->bind($request->getParameter($form->getName()));
Que je remplacerais par:
Code :
$form->bind($request->getParameter('choix'));
Mais pas sur du tout ....
Désolé mais j'ai déjà essayé.

As-tu essayé le code sur ta machine ?

A+
__________________
La connaissance ne sert que si elle est partagée.
http://ms2i.net
Mister Nono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 16h32   #6
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 769
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 769
Points : 788
Points : 788
Si le formulaire n'est pas validé, c'est... qu'il y a une erreur dans les champs envoyés. Quel est le message d'erreur associé que tu reçois ? As-tu vérifié les valeurs passées au bind() ?
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 17h54   #7
Membre du Club
 
Homme philippe marko
Développeur multimédia
Inscription : février 2010
Messages : 48
Détails du profil
Informations personnelles :
Nom : Homme philippe marko
Âge : 26
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur multimédia

Informations forums :
Inscription : février 2010
Messages : 48
Points : 69
Points : 69
Truc tout con qui m'était arrivé, je faisais une vérification que la méthode d'envoie soit POST alors que le formulaire envoyé en GET.
timidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h04.


 
 
 
 
Partenaires

Hébergement Web