Zend Form: добавить сообщение об ошибке после проверки формы

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

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

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

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

person takeshin    schedule 23.03.2010    source источник
comment
Остальные ошибки отображаются должным образом.   -  person takeshin    schedule 23.03.2010


Ответы (2)


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

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

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

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

person thetaiko    schedule 23.03.2010
comment
Извините, в моем коде была опечатка. $ form- ›getElement ('имя пользователя') -› addErrorMessage ('мое сообщение'); работает как положено. - person takeshin; 23.03.2010

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

person gromaco    schedule 28.09.2011