Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-11-2010 18:51:31

__fabrice
Membre
Date d'inscription: 25-04-2007
Messages: 131

[Zend_Captcha_Image] : modifier les messages d'erreurs impossible

Salut,

Je suis en train de faire un formulaire avec un captcha :

Code:

$adapterCaptcha = new Zend_Captcha_Image(array(
                    'name' => 'captcha-account',
                    'timeout' => 300,
                    'wordLen' => 2,
                    'imgdir' => APPLICATION_PATH_WIN.'/images/captcha',
                    'imgUrl' => $config->app->url.'/images/captcha',
                    'font' => $config->app->dir_fonts.'/arial.ttf',
                    'fontSize' => 32,
                    'height' => 60 , 'width' => 350,
                    'gcFreq' => 100,
                    'imgAlt' => 'account-captcha',
                    'dotNoiseLevel' => 200,
                    'lineNoiseLevel' => 5    ,            
));
         
$captcha = new Zend_Form_Element_Captcha('captcha'            
        , array( 'label' => Zend_Registry::get('Zend_Translate')->translate('msg captcha label'),
        'disableLoadDefaultDecorators' => true,
        'captcha' => $adapterCaptcha));
        
$captcha->addValidator($adapterCaptcha)
             ->setErrorMessages(array(
                    Zend_Captcha_Image::BAD_CAPTCHA    =>'captcha invalide',
                    Zend_Captcha_Image::MISSING_VALUE    =>'Vous devez saisir le code de vérification'));

J'ai un soucis car je voudrais changer les messages d'erreurs. Ils sont dans la classe Zend_Captcha_Image (extends Zend_Captcha_Word) :

Code:

    protected $_messageTemplates = array(
        self::MISSING_VALUE => 'Empty captcha value',
        self::MISSING_ID    => 'Captcha ID field is missing',
        self::BAD_CAPTCHA   => 'Captcha value is wrong',
    );

Le setErrorMessages() modifie bien l'adapter, mais pas  de la bonne maniere, il ne semble pas possible de faire comme je fais d'habitude, comme ceci :

Code:

$firstname = new Zend_Form_Element_Text('firstname');
$firstname->setLabel('firstname')
          ->setRequired(true)
          ->getValidator('notEmpty')->setMessage('msg login firstname');

Comment faire ?

Merci
Fabrice

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