gpt4 book ai didi

php - Codeigniter 表单验证回调不起作用

转载 作者:行者123 更新时间:2023-12-03 23:05:01 24 4
gpt4 key购买 nike

我正在尝试用我自己的函数扩展验证类,但它似乎跳过了检查。

我的代码

public function login_validation(){
$this->load->library('form_validation');
$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|xss_clean|callback_validate_credentails');
$this->form_validation->set_rules('password', 'Password', 'trim|required|md5');
if($this->form_validation->run()){
#redirect('home');
//Just to check
echo "login success";
}
else{
$this->load->view('view_login');
}
}

我的验证凭据函数是这样的;

public function validate_credentials(){
//loads model_user
$this->load->model('model_users');
//checks if login_validate function in model_users return true
if($this->model_users->login_validate()){
return true;
}
else{
//set validation message
$this->form_validation->set_message('validate_credentails','Incorrect Username/Password');
return false;
}

}

如果需要,我在 model_users 中的 login_validate 函数;

public function login_validate(){
$this->db->where('email', $this->input->post('email'));
$this->db->where('password', md5($this->input->post('password')));
$query = $this->db->get('users');
if($query->num_rows() == 1){
return true;
}
else {
return false;
}

}

这是我第一次遇到这个问题,我做错了什么吗?我在这上面花了太多时间:(

最佳答案

我刚刚找到了解决方案。我需要按照 Nish 的建议更改 form_validation 类的名称并添加此函数。

class MY_Form_validation extends CI_Form_validation {
function run($module = '', $group = ''){
is_object($module) AND $this->CI = &$module;
return parent::run($group);
}
}

关于php - Codeigniter 表单验证回调不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13049431/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com