Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Salut,
Je suis en train de faire un formulaire avec un captcha : 
$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) :
    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 :
$firstname = new Zend_Form_Element_Text('firstname');
$firstname->setLabel('firstname')
          ->setRequired(true)
          ->getValidator('notEmpty')->setMessage('msg login firstname');Comment faire ?
Merci
Fabrice
Hors ligne
Pages: 1