【问题标题】:Codeigniter MY_Model: cannot perform validationCodeigniter MY_Model:无法执行验证
【发布时间】:2016-08-31 00:39:20
【问题描述】:

我正在使用以下链接中的模型。 https://github.com/jamierumbelow/codeigniter-base-model

如何验证 put 方法中的数据。 我已经尝试如下。 配置/form_validation.php

$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' )
  )

并在主控制器方法中

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": []
}

我不知道为什么不执行验证。

【问题讨论】:

    标签: php rest codeigniter-3 my-model-jami


    【解决方案1】:

    问题是我在邮递员中选择了表单数据,而不是标题中的 x-www-form-urlencoded 选项。 我发现在下面的链接中某人的仓库中创建了一个问题。

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

    这也可能是那里的问题。 在标题中选择 x-www-form-urlencoded 后,现在一切正常。

    【讨论】:

    • Rumbelow 的 MY_Model 几年没维护了。我建议你切换到Avenirer 的,它使用 Jamie 的代码作为基础,并且是最近维护的。
    猜你喜欢
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    相关资源
    最近更新 更多