13

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');
1
  • Other errors are displayed as expected. Commented Mar 23, 2010 at 14:04

3 Answers 3

12

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.

Sign up to request clarification or add additional context in comments.

1 Comment

Sorry, There was a typo in my code. $form->getElement('username')->addErrorMessage('my message'); works as expected.
5
if(!$your_zend_auth_result){
    $form->getElement('username')->addError('Your Message');
    $form->markAsError();
}

Comments

1

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.