何をしても、MY_Form_validationでdob関数を使用できないようです... _register_verifyはコントローラーではなくユーザーライブラリ内にあるため、$thisではなく$CIを使用していることに注意してください...
<?php
/** application/libraries/MY_Form_validation **/
class MY_Form_validation extends CI_Form_validation
{
public $CI;
function __construct( $config = array() )
{
parent::__construct($config);
log_message('DEBUG', 'MY FORM VALIDATION Initialized!!');
}
// --------------------------------------------------------------------
public function dob($dob)
{
$CI =& get_instance();
$CI->form_validation->set_message('dob[]_check', 'Please enter a valid DOB');
show_error('I AM AN ERROR');
}
これは私のユーザーライブラリの関数です...
public function _register_verify($testmode = FALSE)
{
if ($testmode) return TRUE;
$CI =& get_instance();
$CI->load->library('form_validation');
$CI->form_validation->CI =& $CI;
$CI->form_validation->set_rules('dob[]', 'DOB', 'trim|dob');
if ($CI->form_validation->run() == FALSE)
{
// What to do if user details are NOT correct?
$CI->session->set_flashdata('dob_error', form_error('dob[]'));
return FALSE;
} else {
return TRUE;
}
}
MY_Form_validationを拡張しようとしましたが、それでも機能しません。そして、私が見つけたほとんどのturotialsは、コントローラーからform_validationを呼び出します。
ログを確認しましたが、ログメッセージが表示されず、エラーは表示されません。
編集:クラスを初期化することができましたが、dobが呼び出されることはありません