I'v creatated пользовательского валидатора:Zend Form Form не displayin сообщение об ошибке от валидатора
class MyValidator extends AbstractValidator
{
const ERROR_CONST = 'error';
protected $dbAdapter;
protected $messageTemplates = array(
self::ERROR_CONST => "Error msg for '%value%'."
);
public function __construct($dbAdapter)
{
$this->dbAdapter = $dbAdapter;
}
public function isValid($value, $context = null)
{
$this->setValue($value);
/**
* Do validation against db
*/
if(/* Not valid */){
$this->error(self::ERROR_CONST);
return false;
}
return true;
}
}
Проверка работы, я был в состоянии проверить это. Не работает вывод сообщения об ошибке с использованием
echo $this->formElementErrors($form->get('action'));
Все, что выводится, представляет собой пустой UL. Это проблема переводчика? Когда я делаю get_class на $ this-> getTranslator() в валидаторе, я получаю имя класса валидатора. Когда я var_dump $ this-> getTranslator(), он выводит значение null. Должен ли я настроить переводчика для этого, чтобы он работал, и где было бы лучше всего установить этот переводчик, чтобы он был системным для моих собственных валидаторов?
Не могли бы вы поместить код, как вы его используете? –