在笨文檔here如何從CodeIgniter中的表單驗證回調方法返回數據?
在該節狀態的底注:
您也可以處理傳遞給你的回調錶單數據並將其返回。如果您的回調函數返回布爾值TRUE/FALSE以外的任何值,則假定該數據是您新處理的表單數據。
我有一個回調函數,驗證圖像上傳和不上傳,是這樣的:
public function upload() {
$this->form_validation->set_rules('imageFile', 'Image', 'callback_validate_image');
// ...
}
然後回調函數:
public function validate_image() {
if (empty($_FILES['imageFile'])) {
$this->form_validation->set_message('validate_image', 'Please select a file');
return false;
}
$config = array (
'upload_path' => './uploads/',
'allowed_types' => 'jpg|jpeg|png|gif',
'max_size' => '5048576'
);
$this->load->library('upload', $config);
if (!$this->upload->do_upload('imageFile')) {
$this->form_validation->set_message('validate_image', $this->upload->display_errors());
return false;
} else {
$data = array('upload_data' => $this->upload->data());
return $data;
}
}
我怎樣才能返回$data
到upload
函數,以便我可以在一個查詢中插入所有數據到數據庫中?
如果我使用了驗證我只用於驗證不會上傳 –
您無法直接將數據返回給該回調,但是您可以使用全局變量或類變量來訪問該數據。順便說一下,不建議在表單驗證中上傳圖像。 – puncoz
那麼如何在沒有'do_upload()'函數的情況下檢查文件是否有效? –