0
我嘗試添加一個驗證器,用於從我的Zend表單上傳文件的長度。 我不知道我是否應該在表格本身或Zend_File_Transfer_Adapter_Http
處理上傳中添加此驗證器。但是,現在我正在嘗試第二件事 - 請參閱下面的代碼。如果要上傳的文件名的長度超過40個字符,我想讓控制器重定向一個錯誤標誌。
$upload
即使使用長度爲41個字符的文件名也會生效 - 爲什麼?如何驗證Zend控制器或文件上傳文件的文件名長度
$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');
}
這個伎倆!也許我今天太累了。 只需添加兩個: 1)在我的代碼示例中,我沒有指定使用'0'和'40'設置哪個StringLength驗證器屬性,因此最大字符串長度甚至沒有正確設置。我編輯我的示例以明確設置'min'和'max'。 2)我發現我可以用ZFs函數$ upload-> getfilename('doc_path',false)獲取上傳文件名,而不是訪問$ _FILES。我不明白哪種方法會被推薦。 – Daniel 2013-03-28 20:02:46