Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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é :
$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
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
Mr.MoOx a écrit:
Tu es allé jeter un coup d'oeil dans le code?
Dès fois ça résoud les questions rapidement
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 :
$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
Comment modifier le sujet pour passer en résolu ?
Hors ligne
Pages: 1