2015-09-13 72 views
0

我的控制器代碼是我笨回調不工作

$this->form_validation->set_rules('periodStartFrom','Salary Period StartFrom', 'trim|required|callback_dateValidate'); 

if($this->form_validation->run() == FALSE) 
     { 
      $this->load->view('pages/salary_period'); 
     }   
     else 
     {} 

我定製formvalidation文件是:

class MY_Form_validation extends CI_Form_validation { 

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

    } 

public function dateValidate($date) 
{ 

    $rgexp = '/(^(((0[1-9]|[12][0-8])[.](0[1-9]|1[012]))|((29|30|31)[.] (0[13578]|1[02]))|((29|30)[.](0[4,6,9]|11)))[.](19|[2-9][0-9])\d\d$)|(^29[.]02[.](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)/' ; 
if(preg_match($rgexp,$date) === 1) 
     { 
      return TRUE; 
     } 
      else{return FALSE;}     
} 
} 
在控制器構造函數

加載MY_Form_validation:

$this->load->library('My_Form_validation'); 

問題是當我在控制器中寫入函數dateValidate,它工作,我不是從MY_For工作m_validation。每次都顯示我在form_validation_lang.php中設置的錯誤消息

我找不到問題。任何幫助?

回答

3

正如你在MY_Form_Validation定義它們,刪除 'callback_',如:

$this->form_validation->set_rules('periodStartFrom','Salary Period StartFrom', 'trim|required|dateValidate'); 

在另一方面,負載Form_validation庫沒有MY_。 MY_會自動加載。

$this->load->library('Form_validation'); 
+0

非常感謝,它的工作原理。 –