Z_Form :: Добавление пользовательского сообщения об ошибке в zend_form внутри Action Controller - PullRequest
4 голосов
/ 19 июня 2010

Я новичок в ZF и открываю для себя, как использовать Zend_Form и использовать его возможности, такие как проверка и фильтрация входных значений.Я уже знаю основы Zend_form, такие как создание формы и добавление в нее элемента.Моя проблема в том, что я хочу добавить пользовательское сообщение об ошибке в элемент формы, и я хочу определить это сообщение в контроллере действий, который создал экземпляр формы.Я хочу определить сообщение об ошибке внутри контроллера, потому что мне нужно выполнить проверку по базе данных.Например, проверка, если имя пользователя / адрес электронной почты уже существует в базе данных.Я попробовал поискать в Google, и это привело меня к методу setErrorMessage в zend_form, но когда я пытаюсь его использовать, сообщение об ошибке вообще не отображается ... Я также попробовал zend_form-> setError и все еще не отображал ошибку в скрипте вида.Правильна ли моя идея установки пользовательской ошибки в контроллере действий или это нужно сделать другим способом?

Ответы [ 2 ]

2 голосов
/ 30 августа 2011

Используете ли вы Zend_Validate_Db_RecordExists ?

Как-то так должно работать:

 $form->getElement('username')->getValidator("RecordExists")->setMessage('This username exists',
                Zend_Validate_Db_RecordExists::ERROR_RECORD_FOUND
            );
1 голос
/ 01 сентября 2011

Это работает для меня:

$form->getElement('username')->addError('This username exists.');
...