Set Zend\\Form Error Messages from Controller

匿名 (未验证) 提交于 2019-12-03 08:44:33

问题:

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!

回答1:

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


回答2:

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

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


回答3:

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.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!