2016-05-05 4 views
0

私は以下のリンクでモデルを使用しています。 https://github.com/jamierumbelow/codeigniter-base-modelCodeigniter MY_Model:検証を実行できません

putメソッドのデータをどのように検証しますか? 私は以下のように試しました。 のconfig/

$config = array(

    'create_put' => array(
    array('field' => 'emailid', 'label' => 'email_address', 'rules' => 'trim|required|valid_email'), 
    array('field' => 'lastname', 'label' => 'lastname', 'rules' => 'trim|required|min_length[8]|max_length[16]'), 
    array('field' => 'leadname', 'label' => 'first_name', 'rules' => 'trim|required|max_length[50]'), 
    array('field' => 'website', 'label' => 'last_name', 'rules' => 'trim|required|max_length[50]'), 
    array('field' => 'mobilenumber', 'label' => 'phone_number', 'rules' => 'trim|required|alpha_dash') 
) 

form_validation.phpとリードコントローラメソッド

function create_put() { 
     //$this->load_model(); 
     //var_dump($this->put()) ; 
      $this->load->library('form_validation'); 
      $lead = remove_unknown_fields($this->put(),$this->form_validation->get_field_names('create_put')); 
      //print_r($data); die; 
      $this->form_validation->set_data($lead) ; 
      if ($this->form_validation->run('create_put') != false){ 
      $this->load->model('Model_lead'); 
      $lead_id = $this->Model_lead->insert($lead); 
      if (!$lead_id) { 
      $this->response(array('status'=>'failure','message'=>'An un-expected error occured while trying to insert student details'),REST_Controller::HTTP_INTERNAL_SERVER_ERROR); 
      } 
      else { 
      $this->response(array('status'=> 'success','message'=>'Student data successfully inserted')); 
      } 
      }else { 
      $this->response(array('status'=> 'failure','message'=>$this->form_validation->get_errors_as_array()), REST_Controller::HTTP_BAD_REQUEST); 
      } 
} 

での検証は常にエラーをスローします。応答を確認してください。

{ 
    "status": "valid failure", 
    "message": [] 
} 

なぜ検証が行われないのかわかりません。

答えて

0

問題は、ヘッダーにx-www-form-urlencodedオプションの代わりに郵便受けでフォームデータを選択したことです。 下のリンクに誰かのレポで作成された問題があることがわかりました。

https://github.com/alexmarton/RControl/issues/1

これはあまりにもそこに問題がある可能性があります。 ヘッダーでx-www-form-urlencodedを選択すると、すべて正常に機能しています。

+0

RumbelowのMY_Modelは数年前には維持されていません。私はあなたがJamieのコードをベースとして使用し、もっと最近維持されている[Avenirer](https://github.com/avenirer/CodeIgniter-MY_Model)のものに切り替えることにしました。 – Tpojka

関連する問題