6

这可能是一个非常简单的任务,但目前我在这方面失败了。当我的身份验证失败时,我只想在我的表单中添加一个自定义错误。

我试过的

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

意外的结果

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

如果我正确理解代码,这应该在密码元素中附加一条错误消息。实际上看着 setMessages 我认为附加一个单维数组应该就足够了,但它也需要第二维:S 我只是坚持这个简单的任务,叹息:)

提前致谢!

4

3 回答 3

14

根据您的要求,我的评论作为答案:

您还可以使用以下方法直接将错误消息设置到元素:

$form->get('elemName')->setMessages(array('message1', 'message2', ...));
于 2012-10-16T10:13:29.077 回答
1

简单的解决方案,正确阅读代码...正确用法如下:

$form->setMessages(array(
    'formElementName' => array(
         // multiple error messages possible...
    )
));
于 2012-10-15T13:49:03.233 回答
1

使用这行代码。

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

如果消息未显示在您的页面中,请检查 zend 表单中使用的 removeDecorator 方法。如果在编写错误消息代码行之前使用 addDecorator 方法。

于 2015-03-25T07:28:49.373 回答