検証ルールが別の構成ファイルに配置されている場合、CodeIgniter 3の呼び出し可能なフォーム検証機能を動作させることができません。
次のエラー メッセージが表示されます。
PHP エラーが発生しました
重大度: 通知
メッセージ: 未定義のプロパティ: CI_Config::$form_validation_callback_library
フォーム検証ルールを含む構成ファイルは次のとおりです (config/fvalidation.php):
$config['client_details'] = array(
array(
'field' => 'client_abn',
'label' => 'Client ABN',
'rules' => array('trim', 'required', array('abn_callable', array($this->form_validation_callback_library, 'abn_check'))),
'errors' => array('abn_callable' => 'Invalid ABN has been entered %s.')
)
);
呼び出そうとするフォーム検証クラスは次のとおりです (つまり、$this->form_validation_callback_library):
class Form_validation_callback_library
{
public function abn_check()
{
$this->load->library('abn_validator');
$abn = $this->input->post_get('abn', TRUE);
if (!$this->abn_validator->isValidAbn($abn)) {
return FALSE;
}
return TRUE;
}
}
コントローラーは次のとおりです。
$this->config->load('fvalidation');
$validation_rules = $this->config->item('client_details');
$this->form_validation->set_rules($validation_rules);
if ($this->form_validation->run() == FALSE) {
// show form
} else {
// process form data
}
どんな助けでも大歓迎です。
乾杯、ヴィーディー