表記の件につきまして質問致します。
Codeigniterのバリデーションサンプルになります。
php
1<?php 2 3class Form extends CI_Controller { 4 5 function index() 6 { 7 $this->load->helper(array('form', 'url')); 8 9 $this->load->library('form_validation'); 10 11 if ($this->form_validation->run() == FALSE) 12 { 13 $this->load->view('myform'); 14 } 15 else 16 { 17 $this->load->view('formsuccess'); 18 } 19 } 20} 21?>
$this->form_validation->run() にてバリデーションチェックが実行されますが、このメソッドは
ファイルアップロードには対応しておりません。
以下ファイルアップロードサンプルになります。
php
1<?php 2 3class Upload extends CI_Controller { 4 5 6 function do_upload() 7 { 8 $config['upload_path'] = './uploads/'; 9 $config['allowed_types'] = 'gif|jpg|png'; 10 11 $this->load->library('upload', $config); 12 13 if ( ! $this->upload->do_upload()) 14 { 15 $error = array('error' => $this->upload->display_errors()); 16 17 $this->load->view('upload_form', $error); 18 } 19 else 20 { 21 $data = array('upload_data' => $this->upload->data()); 22 23 $this->load->view('upload_success', $data); 24 } 25 } 26} 27?>
ファイルのアップロードは$configに含まれる条件をクリアした場合のみ$this->upload->do_upload()にて
アップロード処理を行い、エラーの場合$this->upload->display_errors()にてエラー内容を取得します。
今回このアップロード機能を$this->form_validation->run()で検証する方法をご教授頂きたく質問致します。
できれば、callback_validation_name等の独自バリデーションをコントローラに記載せず、MY_form_validation.phpのように既存ライブラリを拡張するような構成で対応できる方法を望みます。
あなたの回答
tips
プレビュー