0

我尝试为从我的 Zend 表单上传的文件名的长度添加一个验证器。我不知道我是否应该在表单本身Zend_File_Transfer_Adapter_Http处理上传中添加这个验证器。但是,现在我正在尝试第二件事 - 请参阅下面的代码。如果要上传的文件名的长度超过 40 个字符,我希望控制器使用错误标志进行重定向。

$upload即使使用 41 个字符长的文件名也会导致有效 - 为什么?

$upload = new Zend_File_Transfer_Adapter_Http();

$upload->addValidators(
        array(
            array('validator' => 'StringLength', 'options' => array(
                'min' => 0,
                'max' => 40))
        )
);

if (!$upload->isValid()) {
    $this->_redirect('/customer/uploadfile/groupid/'.$groupId.'/flag/XXX-TODO-Failure');
}
4

1 回答 1

1

看起来您没有使用显示的代码验证任何内容。

如下更改该行以引用文件名,例如...

if(!$upload->isValid( $filenameToValidate ) {

... }

还要记住文件名不是帖子,而是在 $_FILES 超全局中找到。

于 2013-03-25T12:02:15.773 回答