【发布时间】:2012-05-15 14:54:50
【问题描述】:
我目前正在让用户上传一个 MS Word 文档,我在其中检查 XML 中的版本。控制器当前检查 isValid() 然后点击一个进行解析和提取的库(因为 word 是一个存档)。现在由于它在技术上已经“有效”,我需要通过库再次检查有效性。 Zend Framework 中最好的做法是什么?
来自 Kohana Land 的欢呼声 ;)
【问题讨论】:
-
嗯,我做到了。虽然我有使用 addValidator(new My_Check); 扩展 zend_form 的表单;但是,文档的提取发生在库中,并且发生在 isValid 之后。在这种情况下,它必须发生两次,这不是我想要做的。
-
我正在检查文件中的实际数据以进行验证。它需要作为二次验证发生。首先,所有基本项目都是正确的(它是一个文件,小于 N 字节等)然后,去..ok 现在这是有效的..我需要进行二次验证
-
您可以发布当前代码吗?我认为您需要做的就是将您的自定义验证器与其他验证器一起添加到验证链中(它是一个文件,小于 n 字节),但将每个这些的
breakChainOnFailure标志设置为 true,以便您的特殊 MSWord 验证器只被调用如果满足其他条件。这样特殊的验证就内置到了表单中,验证完表单就不需要再调用了。 -
这个框架让我很沮丧。来自像 Kohana 这样的框架,这件事看起来就像一个 OOP 混乱。只想在isValid之后触发一个错误,发回给form。就这样。它需要在初始 isValid 之后发生,如果失败,则填充表单并返回。
标签: php zend-framework