2010-04-19 69 views
0

当前在我的应用程序中,我有一个表单,我要求用户上传要用作徽标的图像文件。我想让用户通过不提供文件(只需按浏览器上的上传按钮)将其重置为空。在Zend Framework上挂起文件验证

在这种情况下,唯一剩下的就是在没有文件包含时暂停文件验证。 目前我从Zend_Validate_File_Upload类中得到了self :: NO_FILE错误。

有什么办法暂停验证,以便在没有提供文件的情况下不会检查什么?

回答

0

在我的知识中禁用验证器内的特定验证是不可能的。你将不得不继承它并修改相应的部分。然而,我假设你正在检查,如果表单有效与一些控制器像

$form->isValid(// ... 

如果是这样,你可以检查哪些错误是与Zend_FormgetErrors()方法的验证失败返回。如果那是NO_FILE那么,将动作转发到重置徽标的动作。

个人而言,我会找一个专门的按钮来删除标志,但更好的选择。

+0

有一个专门的按钮,删除标志,正是我认为写后,几个小时后。我认为这是更直观的解决方案。 但暂停会很好,举个例子,你可以选择添加你的头像。 – 2010-04-20 08:44:25

+0

@dimitris我还没有使用ZF上传表单元素,但没有通过只设置'必需'到表单元素来实现它吗? – Gordon 2010-04-20 09:21:02

+0

我试过但没有工作,实际上发生了同样的错误(没有区别)我实现了“新按钮”方法,这种方式解决了我的问题。我明天会再试一次。 – 2010-04-20 17:19:52