【发布时间】:2011-05-06 03:45:09
【问题描述】:
谁能看到我错过了什么?
我正在使用 Codeigniter v1.72。
在文档中:
http://codeigniter.com/user_guide/libraries/form_validation.html
上面写着:
$this->form_validation->set_rules('username', 'Username', 'callback_username_check');
function username_check($str)
{
if ($str == 'test')
{
$this->form_validation->set_message('username_check', 'The %s field can not be the word "test"');
return FALSE;
}
else
{
return TRUE;
}
}
在我的班级用户扩展控制器
我在函数寄存器中:
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean', 'callback_username_check('.$username.')');
I have also tried
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean', 'callback_username_check');
和
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean', 'callback_username_check['.$username.']');
function username_check($str)
{
$this->load->model('User_model', '', TRUE);
$taken = $this->User_model->countUsername($str);
if($taken)
{
$this->form_validation->set_message('username_check', 'That username is already taken');
return FALSE;
}
else
return TRUE;
}
根本没有错误,我的方法都不起作用,代码的行为就像它不存在一样。
【问题讨论】:
-
我看不到在哪里可以给这个函数添加回调。
-
@helle:该函数是一个回调。如果您阅读他引用的网页,您会看到
callback_username_check将username_check设置为回调。
标签: php codeigniter callback