Form validasi untuk upload image dan file di codeigniter

upload-file-codeigniter

Jika membahas validasi di Codeigniter pasti kita semua sudah tau dengan library form_validation bawaan CI. Untuk melakukan validasi inputan yang memiliki type text mungkin tak ada kendala ketika menggunakan library form_validation ini, tapi lain halnya bila kita ingin memvalidasi image (inputan yang memiliki type file).

Bila kita gunakan form_validation untuk memvalidasi inputan type file pasti akan kesulitan.

Cara Validasi Image di Codeigniter

Disini saya akan coba berikan cara bagaimana agar inputan bertipe file juga bisa di validasi dengan form_validation. Pertama- tama yang harus anda lakukan adalah membuat custom validation menggunakan callback.

Bila bingung dengan callback bisa baca dokumentasi Codeigniter disini.  Berikut saya beri contoh potongan koding yang saya buat untuk memvalidasi image :

// validate image upload
public function validate_image() {

    $config['upload_path'] = './uploads/';
    $config['allowed_types'] = 'gif|jpg|jpeg|png';
    $config['max_size']    = 1024 * 10;
    $this->load->library('upload', $config);

    if ( ! $this->upload->do_upload('banner_img'))
    {
        $this->form_validation->set_message('validate_image',$this->upload->display_errors());
        return false;
    }else{
        return true;
    }

}

Penjelasan :
*banner_img => Silahkan anda ganti dengan nama file inputan anda.

Cara memanggil custom form_validation di set rule_validation.

$this->form_validation->set_rules('banner_img','Image','callback_validate_image');

Cara diatas sudah saya coba di kodingan yang saya buat dan berjalan dengan baik. Mungkin bagi anda yang mencoba dan masih belum berhasil bisa kontak saya by email.

Catatan :

  • Jangan lupa untuk me-load library form_validation
  • Jangan lupa juga me-load library upload

Jika cara diatas menurut anda cukup panjang, saya punya cara lain untuk memvalidasi upload image atau gambar dengan form_validation. Taruh kodingan dibawah ini pada set rule_validation :

if (empty($_FILES['banner_img']['name']))
{
     $this->form_validation->set_rules('banner_img','Image','required|xss_clean');
}

Salam tukarpengetahuan.(iwn)

Leave a Reply

Your email address will not be published. Required fields are marked *