How to add an error message to Zend Form element after the form was already validated?
I'm trying to add error mesages I get from Zend_Auth
(now I'm displaying them using flashMessenger).
I tried something like this:
$form->getElement('username')->add开发者_StackOverflow中文版ErrorMessage('my message');
From the zend form documentation -
addErrorMessage($message): add an error message to display on form validation errors. You may call this more than once, and new messages are appended to the stack.
addError($message): add a message to the custom error messages stack and flag the form as invalid.
If your form is not marked as invalid, it probably doesn't show any error messages. Using addError($message)
rather than addErrorMessage($message)
will ensure that the element is also marked invalid.
if(!$your_zend_auth_result){
$form->getElement('username')->addError('Your Message');
$form->markAsError();
}
You need to use setErrors()
method to create errors stack.
In the case, when element already has some errors you should use addErrors()
method.
To check if element has errors you can use hasErrors()
method
精彩评论