user3675089
user3675089

Reputation: 47

Codeigniter image upload with text field validation

In Codeigniter I have add_main_products function to upload image to the database and before that I want to validate a text field something like <input type="text" name="product_name"> . How do I do that inside the add_main_products() function

   function add_main_products(){

        $config['upload_path'] = 'application/views/uploads/';            
        $config['allowed_types'] = 'gif|jpg|png|jpeg';      
        $this->load->library('upload', $config);    

        if (!$this->upload->do_upload('userfile')) {

            $error = array('error' => $this->upload->display_errors());
            $this->load->view('admin/admin_add_mainproduct', $error);

        } else {

            $this->mod_products->add_main_product($this->upload->data());
            $data = array('upload_data' => $this->upload->data());
            $this->load->view('admin/admin_add_mainproduct', $data);  }    

    }

Upvotes: 1

Views: 251

Answers (2)

podijobs
podijobs

Reputation: 86

You can do something like this

     function add_main_products(){

        $this->form_validation->set_rules('product_name', 'Product Name', 'required');    

    if ($this->form_validation->run() == FALSE){
            $this->load->view('admin/admin_add_mainproduct');
        }
           else{

             $config['upload_path'] = 'application/views/uploads/';            
             $config['allowed_types'] = 'gif|jpg|png|jpeg';            
             $this->load->library('upload', $config);

             if (! $this->upload->do_upload()){
                $error['error'] = array('error' => $this->upload->display_errors());
                $this->load->view('admin/admin_add_mainproduct', $error);
                return FALSE;
                }

               $this->mod_products->add_main_product($this->upload->data());
               $data = array('upload_data' => $this->upload->data());
               $this->load->view('admin/admin_add_mainproduct', $data);
         }

}

Upvotes: 1

Mehul Jethloja
Mehul Jethloja

Reputation: 637

Try this ...

function add_main_products()
{
   $this->form_validation->set_rules('product_name', $this->lang->line('product_add_name'), 'required|xss_clean');

   if ($this->form_validation->run() == TRUE) 
   {
     // Put your upload code
   }
}

and load a this $this->load->library('form_validation'); library in _construct function

Upvotes: 3

Related Questions