0

Zendフォームからアップロードされたファイル名の長さのバリデーターを追加しようとしています。このバリデーターをフォーム自体Zend_File_Transfer_Adapter_Httpに追加する必要があるのか​​、アップロードの処理に追加する必要があるのか​​わかりません。しかし、今私は2番目のことを試みています-以下のコードを参照してください。アップロードするファイル名の長さが40文字を超える場合、コントローラーをエラーフラグでリダイレクトしたいと思います。

$upload41文字の長いファイル名でも有効になります-なぜですか?

$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 に答える