2016-04-20 7 views
1

これは記事を挿入するための関数検証です。しかし、私が編集記事で作業するときにも、フォームの検証と同じ条件があります。だから私は、コピーと貼り付けの代わりに1つの関数の検証だけを使用したいと思います。Codeigniter:フォームを編集してフォームを挿入すると、同じ検証を使用できますか?

function article_validation() 
    { 
     $this->load->library('form_validation'); 
     $this->form_validation->set_rules('name','Article Name','required|trim|xss_clean'); 
     $this->form_validation->set_rules('content','Article body','required|trim|xss_clean'); 
     if($this->form_validation->run()) 
     { 
      $this->load->model('article'); 
      $this->article->insert_article(); 
      redirect('article'); 

     } 
     else 
     { 
      $this->load->view('page/insert'); 
     } 
    } 

答えて

0

だけでルーティングされるのを避けるためにあなたのis_valid機能のプライベートを作る、あなたのcontrollerのどこにでもそれを呼び出す、あなたcontrolleris_valid方法を作成してみてください。

Class Articles { 
     private function is_valid(){ 
      $this->load->library('form_validation'); 
      $this->form_validation->set_rules('name','Article Name','required|trim|xss_clean'); 
      $this->form_validation->set_rules('content','Article body','required|trim|xss_clean'); 

      return $this->form_validation->run(); 
     } 

     public function create_article() 
     { 
      if($this->is_valid()){ 
       //save in DB 
      } 
     } 

     public function edit_article($id) 
     { 
      if($this->is_valid()){ 
       //save in DB 
      } 
     } 
} 
関連する問題