2013-06-23 61 views
0

我一直在試圖找出這個問題,但我無法做到。EDIT的Codeigniter表單驗證

說我有一個類別CRUD。 創建類別時,我可以成功使用驗證,但是在執行編輯時,我遇到了這個問題。

我需要加載一個特定的ID編輯表格,說category/edit/4,以便我可以預先使用類別名稱填充表單。我可以使用重定向爲redirect(base_url().'admin/category/edit/'.$id),但我不能使用validation_errors()。我可以使用flashdata顯示錯誤,但是有沒有其他選項可以使用viewsvalidation_errors()來執行此操作。

if ($this->form_validation->run() == TRUE) { 
    //process the form data 

    }else{ 
     $data['subview'] = 'admin/category/edit'; 
     $this->load->view('admin/_layout_main', $data); 
} 

回答

2

進行編輯,你可以做這樣的

控制器

function edit() 
{ 
    $id = $this->uri->segment(3); 

    if($post = $this->input->post()){ 
     $this->form_validation->rule('name','Name','required'); 
     . 
     . 
     . 

     if($this->form_validation->run() == TRUE) 
     { 
      // update query 
     }else{ 
      $row = $this->my_model->get_row($id); 
      $data['row'] = $row; 
      $this->load->view('edit_form',$data);   
     } 
    }else{ 

     $row = $this->my_model->get_row($id); 
     $data['row'] = $row; 
     $this->load->view('edit_form',$data); 
    } 
}