2

我有一个关于 Zend Framework 2 的问题,有人可以提供一个示例代码或链接,说明我如何将验证器类附加到我的控制器中的表单,以便它显示来自验证器的错误消息。Zend 框架开发人员建议我使用它

$form->getInputFilter()->get('entityName')->getValidatorChain()->add($validator);

当我在控制器中添加此行时,当我尝试添加新实体时会抛出此错误

Fatal error: Call to undefined method Zend\Validator\ValidatorChain::add() in C:\Album\src\Album\Controller\AlbumController.php

如果熟悉 Zend Framework 的人可以帮助我解决这个问题。我纯粹是在寻找将验证器添加到控制器中的表单的方法。任何建议,将不胜感激。

PS 我的 AlbumController 代码可以在这里找到

4

2 回答 2

1

对不起,实际上addValidator($validator),不仅仅是add($validator)

但是,如果您查看源代码,您可能已经看到了这一点。

另外,我认为没有必要为此创建一个新问题。我也会在你的最新问题中回答这个问题。

// 编辑:哎呀,刚刚看到您在最近的问题中提出了问题,对此感到抱歉。

于 2012-09-11T15:19:54.467 回答
1

不需要任何参考文档的最简单答案是了解错误消息告诉您的内容。在这种情况下add(),ValidatorChain 类中不存在该方法。所以,在你的编辑器中打开那个类。如果您使用具有良好代码自省功能的方法,您可以进入任何公共方法并键入$this->并点击自动完成快捷方式(通常是 ctrl + 空格键)。这应该为您提供可用的方法类别。浏览以合理名称开头的方法,以了解您正在尝试执行的操作,例如 add* ,您会偶然发现答案:addValidator()

我想将此作为评论留下,但我开始有点啰嗦。

于 2012-09-11T15:24:16.493 回答