-- 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/

Reply via email to