CodeIgniterのフォーム検証ライブラリを使用して、文字列が有効か無効かをチェックしたいと考えています。コールバックルールを使用した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
あなたはそれが失敗していると言いますか?コールバックが呼び出されますか? – sepehr