Cita:
Iniciado por masterpuppet
Código PHP:
Ver original//custom form
public function init()
{
...
$this->getElement('csrf')
->getValidator('Identical')
->setMessage($this->getTranslator()->_('Text to translate'), 'missingToken');
...
}
Intentando esta solución propuesta he implementado esta clase:
Código PHP:
Ver original<?php
// library/My/Form/Element/Hash.php
/**
* own Hash form element
*/
class My_Form_Element_Hash
extends Zend_Form_Element_Hash
{
public function init()
{
$translate = Zend_Registry::get('translate');
Zend_Debug::dump($this->getValidators());
/*
$this->getValidator('Identical')
->setMessage($this->getTranslator()
->_(Zend_Validate_Identical::NOT_SAME,
$translate->_('My_Form_Element_Hash_notSame')))
->setMessage($this->getTranslator()
->_(Zend_Validate_Identical::MISSING_TOKEN,
$translate->_('My_Form_Element_Hash_missingToken')))
*/
;
}
}
El problema que tengo es que no hay ningún validador instanciado. El dump ese devuelve array vacío.
Mirando el código de Zend, he visto que dentro del constructor es donde se instancia el validador.
Entonces, ¿no entiendo por qué no tiene ningún validador instanciado?
Gracias