Set Zend\Form Error Messages from Controller

Sam picture Sam · Oct 15, 2012 · Viewed 10.7k times · Source

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!

Answer

Daniel M picture Daniel M · Oct 16, 2012

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', ...));