我尝试为从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');
}
答案 0 :(得分:1)
看起来您没有使用您显示的代码验证任何内容。
按如下所示更改行以引用文件名,例如...
if(!$upload->isValid( $filenameToValidate ) {
...}
还记得文件名不是帖子,但可以在$ _FILES超全局中找到。