-- Dividy <[EMAIL PROTECTED]> wrote (on Monday, 04 February 2008, 06:22 AM -0800): > Dividy wrote: > > For my first post on this nice forum, could someone explain me in details > > how to translate the error messages of a zend_form validation ? > > > > I tried much thing but none work. > > > > Thanks. > > First, thanks for answering so fast because using Zend every day, is just a > pure pleasure. > > Here's what i had came to while waiting for your answer :
Please note my previous response -- this is no longer necessary using the current svn trunk, as getMessages() now translates error messages by default if a translate adapter is present and the error code is present in the translations. > <?php > > $t=$form->getElements(); > foreach ($t as $element) { > $validateurs=$element->getValidators(); > $validateurs_noms=array_keys($validateurs); > for ($k=0;$k<count($validateurs_noms);$k++){ > > if > ($validateurs_noms[$k]=='Zend_Validate_StringLength'){ > > $valobj=$element->getValidator($validateurs_noms[$k]); > $valobj->setMessages( array( > > Zend_Validate_StringLength::TOO_SHORT => 'Les données saisies sont trop > courtes', > > Zend_Validate_StringLength::TOO_LONG => 'Les données saisies sont trop trop > longues' > )); > } > > if ($validateurs_noms[$k]=='Zend_Validate_Alnum'){ > > $valobj=$element->getValidator($validateurs_noms[$k]); > $valobj->setMessages( array( > > Zend_Validate_Alnum::STRING_EMPTY => 'Ce champ est requis', > > Zend_Validate_Alnum::NOT_ALNUM => 'Uniquement des chiffres et des > lettres' > )); > } > > if > ($validateurs_noms[$k]=='Zend_Validate_Regex'){ > > $valobj=$element->getValidator($validateurs_noms[$k]); > $valobj->setMessages( array( > > Zend_Validate_Regex::NOT_MATCH => 'Les données ne correspondent pas au > format demandé' > )); > } > > if > ($validateurs_noms[$k]=='Zend_Validate_InArray'){ > > $valobj=$element->getValidator($validateurs_noms[$k]); > $valobj->setMessages( array( > > Zend_Validate_InArray::NOT_IN_ARRAY => 'Mauvais choix, veuillez recommencer' > )); > } > > if > ($validateurs_noms[$k]=='Zend_Validate_NotEmpty'){ > > $valobj=$element->getValidator($validateurs_noms[$k]); > $valobj->setMessages( array( > > Zend_Validate_NotEmpty::IS_EMPTY => 'Le champ est vide, veuillez le remplir' > )); > } > > if > ($validateurs_noms[$k]=='Zend_Validate_EmailAddress'){ > > $valobj=$element->getValidator($validateurs_noms[$k]); > $valobj->setMessages( array( > > Zend_Validate_EmailAddress::INVALID => 'Adresse e-mail invalide, veuillez > la vérifier', > > Zend_Validate_EmailAddress::INVALID_HOSTNAME => 'Adresse e-mail invalide, > veuillez la vérifier', > > Zend_Validate_EmailAddress::INVALID_LOCAL_PART => 'Adresse e-mail > invalide, veuillez la vérifier', > > Zend_Validate_EmailAddress::INVALID_MX_RECORD => 'Adresse e-mail > invalide, veuillez la vérifier' > )); > } > > > } > } > ?> -- Matthew Weier O'Phinney PHP Developer | [EMAIL PROTECTED] Zend - The PHP Company | http://www.zend.com/