【问题标题】:Codeigniter: Can edit form and insert form use the same validation?Codeigniter:编辑表单和插入表单可以使用相同的验证吗?
【发布时间】:2016-04-20 04:34:48
【问题描述】:

这是我对插入文章的功能验证。但是当我使用编辑文章时,也有表单验证和相同的条件。所以我想只使用一个函数验证而不是复制和粘贴。

 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');
        }
    }

【问题讨论】:

    标签: forms codeigniter validation


    【解决方案1】:

    尝试在您的controller 中创建一个is_valid 方法,在您的controller 中的任何位置调用它,只需将您的is_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
               }
           }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-06-17
      • 2011-02-13
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-15
      相关资源
      最近更新 更多