Reputation: 50638
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')->addErrorMessage('my message');
Upvotes: 13
Views: 23530
Reputation: 1531
if(!$your_zend_auth_result){
$form->getElement('username')->addError('Your Message');
$form->markAsError();
}
Upvotes: 5
Reputation: 11
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
Upvotes: 1
Reputation: 7834
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.
Upvotes: 12