这可能是一项非常简单的任务,但目前我对此非常失败。我只想在身份验证失败时向表单添加自定义错误。
我尝试了什么
$form->setMessages(array(
array('password' => $this->failedLoginMessage)
));
意外结果
\Zend\Debug\Debug::dump($form->getMessages());
array(0) {}
如果我正确理解了代码,则应将错误消息附加到密码元素。实际上看着setMessages,我认为附加一个单维数组应该已经足够了,但它也需要第二维:S我只是坚持这个简单的任务,感叹:)
提前致谢!
答案 0 :(得分:14)
我的评论作为答案,正如您所要求的那样:
您还可以使用以下方法直接将错误消息设置为元素
$form->get('elemName')->setMessages(array('message1', 'message2', ...));
答案 1 :(得分:1)
简单的解决方案,正确阅读代码......正确使用如下:
$form->setMessages(array(
'formElementName' => array(
// multiple error messages possible...
)
));
答案 2 :(得分:1)
使用以下代码行。
$form->getElement('controlname')->setErrors(array('Your custom error'));
如果您的页面中没有显示消息,请检查zend表单中使用的removeDecorator方法。如果有使用addDecorator方法,则编写错误消息代码行。