作为zendframewok站点的表单验证示例getInputFilter
转换为Album
类,并使用此代码在控制器中进行验证:
$form->setInputFilter($album->getInputFilter());
但在我的项目中的一些模块中,我将getInputFilter
方法放在了AlbumForm
中,而不是Album
中。在这种情况下,Form类更容易理解,并且不需要在Controller中使用$form->setInputFilter(...
,并且可以通过isValid
方法进行验证。
为什么zend框架站点将getInputFilter
放在这个模型中?
我们把getInputFilter
放到Form类中是错误的吗?
通过在模型中设置输入过滤器,可以通过调用getInputFilter在多个表单中重用这些过滤器。如果您有一个具有不同形式的编辑操作和添加操作,您将不得不重复输入筛选器代码两次。