未调用验证规则中的回调函数。 该字段的其他验证规则被称为
$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,但回调不是。 谢谢!
答案 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。我认为在旧版本中有一个错误。