takeshin
takeshin

Reputation: 50638

Zend Form: add error message after form validation

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

Answers (3)

Andrei Stalbe
Andrei Stalbe

Reputation: 1531

if(!$your_zend_auth_result){
    $form->getElement('username')->addError('Your Message');
    $form->markAsError();
}

Upvotes: 5

gromaco
gromaco

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

thetaiko
thetaiko

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

Related Questions