Zend Form: добавить сообщение об ошибке после проверки формы - PullRequest
13 голосов
/ 23 марта 2010

Как добавить сообщение об ошибке в элемент Zend Form после того, как форма уже была проверена?

Я пытаюсь добавить сообщения об ошибках, полученные из Zend_Auth (теперь я отображаю их с помощью flashMessenger).

Я пробовал что-то вроде этого:

$form->getElement('username')->addErrorMessage('my message');

Ответы [ 3 ]

12 голосов
/ 23 марта 2010

Из документации Zend формы -

addErrorMessage ($ message): добавить сообщение об ошибке для отображения в форме ошибки проверки. Вы можете назвать это более одного раза, и новые сообщения добавлен в стек.

addError ($ message): добавить сообщение в стек пользовательских сообщений об ошибках и пометить форму как недействительную.

Если ваша форма не помечена как недействительная, она, вероятно, не отображает никаких сообщений об ошибках. Использование addError($message) вместо addErrorMessage($message) гарантирует, что элемент также будет помечен как недействительный.

4 голосов
/ 02 февраля 2013
if(!$your_zend_auth_result){
    $form->getElement('username')->addError('Your Message');
    $form->markAsError();
}
1 голос
/ 28 сентября 2011

Вам нужно использовать метод setErrors() для создания стека ошибок. В случае, когда в элементе уже есть ошибки, следует использовать метод addErrors(). Чтобы проверить, есть ли в элементе ошибки, вы можете использовать hasErrors() method

...