验证回调从不调用函数


Validation callback never calling function

我有以下表单验证:

$this->CI->form_validation->set_rules(
    'email', 'lang:email', 'callback_validate_email');

在同一个控制器中,我有以下功能(请原谅这里的调试):

public function validate_email($string) {
    echo 'test val';
    exit;
    $valid = $this->CI->force_model->validate_email($string);
    if(!$valid) {
        $this->CI->form_validation->set_message('validate_email', 'lang:email');
        return false;
    } else {
        return true;
    }
}

我的问题是,该函数永远不会通过回调调用。谁能建议这里的问题可能是什么?

我看到其他人有这个问题,奇怪的是他们也在使用$this->CI->...

他们的解决方案是扩展验证库并在那里添加自定义验证回调。更多信息,请参阅:库中的 CodeIgniter 验证不接受回调

如果您改用$this->form_validation->...设置表单验证规则,它是否有效? 例如

$this->form_validation->set_rules(
    'email', 'lang:email', 'callback_validate_email');