Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-08-2008 16:53:52

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

[Résolu][Zend_Form]Utilisation de messages avec des variables

Bonjour,

je prends contact avec Zend_Form (j'avais commencé mon précédent projet avec ZF avant la création du Zend_Form)
Donc avec le code suivant (repiqué d'un exemple) je traduits les messages d'erreur et j'essaye d'utiliser (fin du code, notEmpty) une variable %value%, mais rien n'est affiché :

Code:

$form = new Zend_Form();
        $form->setAction('index/index')
             ->setMethod('post');

        $username = $form->createElement('text', 'username');
        $username->addValidator('alnum')
                 ->addValidator('regex', false, array('/^[a-z]+/'))
                 ->addValidator('stringLength', false, array(6, 20))
                 ->setRequired(true)
                 ->addFilter('StringToLower');
        
        $password = $form->createElement('password', 'password');
        $password->addValidator('StringLength', false, array(6))
                 ->setRequired(true);
        
        $form->addElement($username)
             ->addElement($password)
             // use addElement() as a factory to create 'Login' button:
             ->addElement('submit', 'login', array('label' => 'Login'));
             
        $translations = array(
            Zend_Validate_StringLength::TOO_SHORT => 'Les données saisies sont trop courtes',
            Zend_Validate_StringLength::TOO_LONG => 'Les données saisies sont trop longues',
            Zend_Validate_NotEmpty::IS_EMPTY => 'Le champ %value% est requis'
            );

        
        $translate = new Zend_Translate('array', $translations, 'fr');
             
        $form->setDefaultTranslator($translate);  
        return $form;
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

Quelqu'un a t-il une piste ?

Dernière modification par Jean-Marc Rigade (23-08-2008 15:41:16)

Hors ligne

 

#2 18-08-2008 13:10:15

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu][Zend_Form]Utilisation de messages avec des variables

Ce n'est peut être pas %value% le nom du champ (ça me semble même illogique?)

Hors ligne

 

#3 18-08-2008 15:44:18

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [Résolu][Zend_Form]Utilisation de messages avec des variables

Mr.MoOx a écrit:

Ce n'est peut être pas %value% le nom du champ (ça me semble même illogique?)

Euh, non, value c'est pas le nom du champs on est d'accord là dessus.

Mais le message d'erreur, il est générique, et à chaque fois qu'un champs est laissé vide par l'utilisateur on a ce même message : "Le champ %value% est requis".

Et j'avais espoir que %value% soit remplacé par le nom du champ à l'origine de l'erreur, ce n'est hélas pas le cas...
Il doit bien y avoir un moyen d'obtenir ça vu qu'il y a pas mal de sources sur la gestion des erreur du ZF qui utilisent ça.
Mais pour le moment je sèche.

Merci quand même pour ta réponse.

Hors ligne

 

#4 18-08-2008 16:02:59

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu][Zend_Form]Utilisation de messages avec des variables

Tu es allé jeter un coup d'oeil dans le code?
Dès fois ça résoud les questions rapidement big_smile

Hors ligne

 

#5 18-08-2008 21:39:25

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [Résolu][Zend_Form]Utilisation de messages avec des variables

Mr.MoOx a écrit:

Tu es allé jeter un coup d'oeil dans le code?
Dès fois ça résoud les questions rapidement big_smile

Voilà un sage conseil que j'ai suivi, avec succès.

Donc, conformément aux fichiers StringLength.php et NotEmpty.php, j'ai modifié mon code de cette façon :

Code:

$translations = array(
            Zend_Validate_StringLength::TOO_SHORT => "'%value%' fait moins de %min% caractères de long",
            Zend_Validate_StringLength::TOO_LONG => "'%value' dépasse %max% cazractères qui est le maximum",
            Zend_Validate_NotEmpty::IS_EMPTY => "Le champ est requis"
            );
Ajoutez [lang=php|phtml|javascript|sql|perl|xml|shell|html] au début de votre code pour activer le syntax highlighting

Et le résultat est ce que j'attendais.
J'évite parfois de me plonger dans le code du framework, car souvent j'y suis toujours plongé après 2 heures à essayer de suivre les traitements... Déprimant.
Dans le cas présent, c'est en effet ce qu'il fallait faire.

Merci.

Hors ligne

 

#6 19-08-2008 14:49:51

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [Résolu][Zend_Form]Utilisation de messages avec des variables

Comment modifier le sujet pour passer en résolu ?

Hors ligne

 

#7 21-08-2008 10:27:04

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu][Zend_Form]Utilisation de messages avec des variables

Suffit d'éditer le premier post et de rajouter [Résolu] dasn le titre smile

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages