2017-11-21 2 views
0

데이터베이스에 데이터를 삽입하기위한 직원 컨트롤러를 만들었으며 데이터를 데이터베이스에 삽입하기 전에 유효성을 설정하고 싶습니다.코드 유효성 검사기에서 폼 유효성 검사가 제대로 작동하지 않습니다.

나는 텍스트 상자에 값을 입력 했는데도 다음과 같은 방법으로 시도했지만 항상 message field is required을 표시합니다.

1) 컨트롤러

<?php 
class Employee_controller extends CI_Controller { 
    function __construct() { 
     parent::__construct(); 
     $this->load->helper('url'); 
     /* Load form validation library */ 
     $this->load->library('form_validation'); 
       $this->load->library('email'); 
     $this->load->library('session'); 
     $this->load->helper('form'); 
     $this->load->database(); 
    } 


    function add_employee(){   
     $this->load->view('Employee_add'); 

    } 

    function insert_emp(){ 
    $this->form_validation->set_rules('name', 'Name', 'required'); 
     if ($this->form_validation->run() == FALSE) { 
     $this->load->view('Employee_add'); 
    } else { 
     $this->load->model('Employee_model'); 
      $inserData = array(
      'name' =>$_POST['emp_name'], 
      'salary' => $_POST['emp_salary'] 
     ); 

      $this->Employee_model->insert_employee($inserData); 
      $emp_list['emp_records']= $this->Employee_model->list_employee(); 

     $this->load->view('Employee_list',$emp_list); 
    } 

    } 

} 

2) 모델 코드 (다음은

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <div class="center"> 
     <form action="<?php echo site_url('Employee_controller/insert_emp');?>" method="post"> 
     <?php echo validation_errors(); ?> 
      <div class="element"> 
       <label>Name</label> 
       <input type="text" name="emp_name" value=""> 
      </div> 

      <div class="element"> 
       <label>Salary</label> 
       <input type="text" name="emp_salary" value=""> 
      </div> 

      <input type="submit" name="submit" value="Add Employee"> 
     </form> 
    </div> 

</body> 
</html> 
</body> 
</html> 
+0

양식 입력 이름은 유효성 검사 규칙에서 사용중인 이름과 일치해야합니다. 그렇지 않습니다. – TimBrownlaw

+0

또한 emp_salary에 대해 유효성이 없음을 확인했습니다. 당신은 그것을 맞게 추가해야합니다 ... – TimBrownlaw

답변

3

$this->form_validation->set_rules 방법을 확인 내 모델 코드)

<?php 
class Employee_model extends CI_Model { 

     function __construct() { 
     parent::__construct(); 
     } 

     function insert_employee($inserData){ 
     $this->db->insert('employee',$inserData); 

     return true; 
     } 
} 
?> 

3)보기, 당신은 통과된다 name 필드가 emp_name 및인 경우

+1

예, 오른쪽 사소한 실수. –