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;

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"
            );

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