|
我现在写了这样一些规则
PHP复制代码 $config = array(
'administrator/login' => array(
array(
'field' => 'account',
'label' => '账号',
'rules' => 'trim|required|min_length[3]|max_length[12]|xss_clean'
),
array(
'field' => 'password',
'label' => '密码',
'rules' => 'trim|required'
),
array(
'field' => 'validate_code',
'label' => '验证码',
'rules' => 'trim|required|callback_captcha_check'
)
),
); 复制代码
验证码做了一个回调函数来进行验证,然后我想加入一个账号密码的验证,账号密码是存在数据库中的,验证的方法我也写好了,可以用,但是有这样一个问题,因为所有的验证都是同步的,不是分步的验证,我希望当验证码,账号,密码,全部都符合了填写的验证要求之后再进行账号密码的验证。这样的功能如何做呢?我现在的回调函数是这样写的
PHP复制代码 function _user_check ()
{
$this->load->model('admin');
if($this->admin->login_check())
{
return TRUE;
}
else
{
$this->form_validation->set_message('user_check', '密码错误');
return FALSE;
}
}
/**
*
* 验证码验证函数,函数在config/form_validation.php 文件里调用。
* 当验证码通过验证则进行用户账号验证。
* @param string $str 传入函数
* @return boolean
*/
function captcha_check ($str)
{
$this->load->library('nsession');
if(strtoupper($str) !== $this->nsession->userdata('captcha'))
{
$this->form_validation->set_message('captcha_check', '%s 填写错误');
return FALSE;
}
else
{
//用户账号验证方法
if($this->_user_check ())
{
return TRUE;
}
else {
$this->form_validation->set_message('captcha_check', '账号 & 密码错误');
return FALSE;
}
}
} 复制代码 |
|