Я проверяю электронную почту в базе данных при проверке формы в CodeIgniter, используя обратный вызов в правиле.Например,
$this -> form_validation -> set_rules( 'email', 'Email address', 'trim|valid_email|callback_email_exists' );
Функция email_exists:
public function email_exists($email)
{
$this -> load -> model('account_model');
$exists = $this -> account_model -> email_registered( $email );
if ( $exists == true )
{
$this -> form_validation -> set_message ( 'email_exists', 'Email already exists.');
return false;
}
return true;
}
Работает нормально.Однако не должна ли указанная выше функция email_exists
быть закрытой, а не публичной?Я пытаюсь сделать его приватным, как private function _email_exists($email)
, и перезваниваю по callback__email_exists
Однако я получаю сообщение об ошибке:
Fatal error: Call to private method Account::_email_exists() from context 'CI_Form_validation' in ....(line number)
Может кто-нибудь сказать мне, что не так?