1

ファイルのアップロード時に Cake 2.3.8 で検証を実行して、PDF のみをアップロードできるようにしようとしています。私は大まかにこのチュートリアルに基づいています。

私のフォームは、入力の横にアスタリスクを表示しています。モデルから検証を削除すると、アスタリスクが消えます。これは、検証のために入力を「見る」ことを意味すると思いますが、カスタム検証でさえトリガーされない理由がわかりません。

フォームはこちら

echo $this->Form->create('Upload', array('type' => 'file'));
echo $this->Form->input('file_upload', array('type' => 'file'));
echo $this->Form->input('file_title');
echo $this->Form->end(__('Upload File!', true));

これが私の Upload モデルのコードです

public function checkUpload(){
    echo "test";   //check to see if it reaches this...not displaying
    return false;  //the error message should be set just for testing, it's not displaying though
}


public $validate = array(
    'file_upload' => array(
        'extension' => array(
            'rule' => array('extension', array('pdf')),
             'message' => 'Only pdf files',
         ),
         'upload-file' => array(
                 'rule' => array('checkUpload'),
                 'message' => 'Error uploading file'
          )
    )
);
4

2 に答える 2

0

Cake で sth をデバッグしようとする場合は、常に使用しますdebug(sth) // sth could be variable could be string could be anything, cuz in Cake debug means

echo "<pre>";
print_r(sth);
echo "</pre>";`

それはすでに非常にうまくフォーマットされています。
その後、 echo sth の後に別の方法で配置する必要が die()あります。ビューがロードされるため、出力があったとしても表示されません。

于 2013-09-11T00:00:39.087 に答える