Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Form
Zend_Form Forum d'entraide pour le composant Zend_Form du Zend Framework (création de formulaires, helpers, AJAX etc.). Avant de poster -> FAQ Zend_Form.
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 14/01/2011, 10h23   #1
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 986
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 986
Points : 18 234
Points : 18 234
Envoyer un message via MSN à CinePhil
Par défaut Zend_Validate_Postcode pour les codes français

Bonjour,
Je n'arrive pas à trouver comment utiliser le validator Postcode pour les codes postaux français.
Code :
1
2
3
4
5
6
7
8
        // Code postal de l'étudiant
        $etu_code_postal = new Zend_Form_Element_Text('etu_code_postal');
        $etu_code_postal
            ->setLabel('Code postal')
            ->setRequired(true)
            ->addFilter('StripTags')
            ->addFilter('StringTrim')
            ->addValidator('PostCode', array('locale'=>'fr_FR'));
J'ai un beau message d'erreur à cause du validator :
Citation:
An error occurred

Application error

Exception information:

Message: A postcode-format string has to be given for validation
Stack trace:

#0 /var/www/html/stagmas/library/Zend/Form/Element.php(2118): Zend_Validate_PostCode->__construct()
#1 /var/www/html/stagmas/library/Zend/Form/Element.php(1264): Zend_Form_Element->_loadValidator(Array)
#2 /var/www/html/stagmas/library/Zend/Form/Element.php(1337): Zend_Form_Element->getValidators()
#3 /var/www/html/stagmas/library/Zend/Form.php(2248): Zend_Form_Element->isValid('31100', Array)
#4 /var/www/html/stagmas/application/controllers/AccueiletudiantController.php(65): Zend_Form->isValid(Array)
#5 /var/www/html/stagmas/library/Zend/Controller/Action.php(513): AccueiletudiantController->infospersoAction()
#6 /var/www/html/stagmas/library/Zend/Controller/Dispatcher/Standard.php(295): Zend_Controller_Action->dispatch('infospersoActio...')
#7 /var/www/html/stagmas/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#8 /var/www/html/stagmas/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#9 /var/www/html/stagmas/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#10 /var/www/html/stagmas/public/index.php(26): Zend_Application->run()
#11 {main}
Bien entendu, la valeur entrée pour le code postal est correcte !
Citation:
'etu_code_postal' => '31100'
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 12h20   #2
Membre expérimenté
 
Avatar de manuscle
 
Homme Emmanuel Belair
Développeur informatique
Inscription : septembre 2004
Messages : 463
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel Belair
Âge : 32
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2004
Messages : 463
Points : 597
Points : 597
Re,

Tu dois fournir le format sous forme de regex.

Code :
1
2
3
4
5
6
7
8
9
 
        // Code postal de l'étudiant
        $etu_code_postal = new Zend_Form_Element_Text('etu_code_postal');
        $etu_code_postal
            ->setLabel('Code postal')
            ->setRequired(true)
            ->addFilter('StripTags')
            ->addFilter('StringTrim')
            ->addValidator('PostCode', array('locale'=>'fr_FR', format => '((0[1-9])|([1-8][0-9])|(9[0-8])|(2A)|(2B))[0-9]{3}'));
__________________
Les idiots sont ceux qui ne posent jamais de question!
manuscle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2011, 20h43   #3
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 986
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 986
Points : 18 234
Points : 18 234
Envoyer un message via MSN à CinePhil
La doc dit pourtant que les codes de plein de pays sont reconnus. Pourquoi faut-il en plus donner un format ?

J'essaierai ta formule lundi.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2011, 21h07   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
addValidator prend 3 paramètres, l'option est dans le 3eme
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2011, 23h03   #5
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 986
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 986
Points : 18 234
Points : 18 234
Envoyer un message via MSN à CinePhil
OK je vois il faut que je mette true entre le nom du validator et son option pour demander l'arrêt sur non validation. J'essaierai lundi.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 09h03   #6
Membre expérimenté
 
Avatar de manuscle
 
Homme Emmanuel Belair
Développeur informatique
Inscription : septembre 2004
Messages : 463
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel Belair
Âge : 32
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2004
Messages : 463
Points : 597
Points : 597
Arf! Moi il faut que je mette des lunettes!
__________________
Les idiots sont ceux qui ne posent jamais de question!
manuscle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 09h08   #7
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 986
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 986
Points : 18 234
Points : 18 234
Envoyer un message via MSN à CinePhil
Ça semble être bon sans préciser le format :
Code :
->addValidator('PostCode', true, array('locale'=>'fr_FR'));
Merci.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h36.


 
 
 
 
Partenaires

Hébergement Web