6

this is probably a very simple task, but currently I'm failing horribly at it. I just want to add a custom error to my form when my authentication fails.

What i tried

$form->setMessages(array( array('password' => $this->failedLoginMessage) )); 

Unexpected Result

\Zend\Debug\Debug::dump($form->getMessages()); array(0) {} 

If i understand the code correctly this should attach an error message to the password element. Actually looking at the setMessages i thought attaching a single-dimension array should have been enough, but it needs the 2nd dimension, too :S I'm just stuck on that simple task, sigh :)

Thanks in advance!

3 Answers 3

14

My comment as answer, as you've requested:

You can also set error messages to an element directly, using:

$form->get('elemName')->setMessages(array('message1', 'message2', ...)); 
Sign up to request clarification or add additional context in comments.

Comments

1

Simple solution, read the code correctly... Correct usage as following:

$form->setMessages(array( 'formElementName' => array( // multiple error messages possible... ) )); 

2 Comments

You can also set error messages to an element directly, using $form->get('elemName')->setMessages(array('message1', 'message2', ...));
@DanielM Provide this as an alternate answer and this will be the selected one. I was constantly looking for $form->getElement... good to know simple get() will do.. :)
1

Use this lines of code.

$form->getElement('controlname')->setErrors(array('Your custom error')); 

in case the message not showing in your page check removeDecorator method used in zend form. if there is use addDecorator method befor writing error message code line.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.