CodeIgniter验证回调未被调用

时间:2010-02-07 05:28:53

标签: validation codeigniter

未调用验证规则中的回调函数。   该字段的其他验证规则被称为

$rules[‘login_name’] = “required|max_length[12]|alpha_dash|callback__check_login_name”;
function _check_login_name($login_name) {
    echo "here"; // DOESNT WORK
 }

所以在上面的行中,需要调用max_length,alpha_dash,但回调不是。 谢谢!

3 个答案:

答案 0 :(得分:1)

可能是该方法在某种程度上无法读出范围。只需手动调用_check_login_name(从类外部),它是否有效?如果这不是问题,那么您是否尝试将echo放在系统文件夹的Form_validation.php中?在第581行之后放置一个系列。之后,需要更多代码才能提供更多帮助。

答案 1 :(得分:0)

要进行测试,请尝试使用此代替echo:

function _check_login_name($login_name) {
    $this->form_validation->set_message('_check_login_name', 'The callback was called.');
    return FALSE;
}

根据callbacks entry in the CI manual: “如果你的回调返回的不是布尔值TRUE / FALSE,则假定数据是你新处理的表格数据。”

答案 2 :(得分:0)

我觉得你正在使用old validation class。尝试新的Form Validation Class。我认为在旧版本中有一个错误。