在我的数据库中,根据某人注册的帐户类型,我有多种类型的用户。我创建了一个验证规则,该规则检查数据库中是否有人注册的用户名或电子邮件,但是我需要能够检查数据库中的正确表。
function create_account($account_type){
$this->load->library('form_validation');
$this->form_validation->set_rules('f_name','First Name','trim|required');
$this->form_validation->set_rules('l_name','Last Name','trim|required');
$this->form_validation->set_rules('u_name','Username','trim|required|min_length[6]|max_length[30]|callback_check_if_username_exists');
$this->form_validation->set_rules('email','Email','trim|required|valid_email|callback_check_if_email_exists');
}
我的check username回调包含两个参数,username和account_type。联机帮助仅讨论传递即时值或其他发布值。如何将account_type传递给回调?
function check_if_username_exists($name,$account_type){
$this->load->model('membership_model');
$username_available = $this->membership_model->check_if_username_exists($name,$account_type);
if($username_available){
return true;
}
else {
return false;
}
}
从用户指南中:
要调用回调,只需将方法名称放入规则中,并以“ callback_”作为规则前缀。如果您需要在回调方法中接收一个额外的参数,只需在方括号之间的方法名称后面正常添加它,例如:“ callback_foo ** [bar] **”,那么它将作为您的第二个参数传递回调方法。
因此,您将像这样进行操作;
$this->form_validation->set_rules('u_name','Username','trim|required|min_length[6]|max_length[30]|callback_check_if_username_exists[' . $account_type . ']');
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句