我想使用CodeIgniter的Form Validation庫檢查字符串是否有效或無效。使用回調規則在CodeIgniter中進行字符串驗證
如果輸入字符串在此集合中有9個數字+ 1個字符:[xXvV]
或字符串爲空,則認爲它是有效的。 (例如:「123456789X」,「987654321v」,「」)。我使用preg_match()
實施了回調規則,但無濟於事。
設置規則在我的控制器:
$this->form_validation->set_rules('nic', 'NIC', 'trim|xss_clean|callback_checkNIC');
這是我的回調函數:
public function checkNIC($nic){
$reg = '/^(\d\d\d\d\d\d\d\d\d)[xXvV]$/';
if(preg_match($reg, $nic) || $nic == '') {
return TRUE;
}
else {
$this->form_validation->set_message('checkNIC', 'The NIC is not valid');
return FALSE;
}
}
任何想法?
請再具體些。它如何不工作?任何錯誤?你在哪裏定義回調?在同一個控制器中? – sepehr
我在同一個控制器中定義了回調。 – TrungHoang
How do you say它是失敗的?回調是否被調用? – sepehr