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