Salut,

Je suis en train de faire un formulaire avec un captcha :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
$firstname = new Zend_Form_Element_Text('firstname');
$firstname->setLabel('firstname')
          ->setRequired(true)
          ->getValidator('notEmpty')->setMessage('msg login firstname');
Comment faire ?

Merci
Fabrice