【发布时间】:2011-07-15 19:43:07
【问题描述】:
我创建了一个帮助程序来检查我的 user 数据库表中是否存在用户 ID:
if ( ! function_exists('valid_user'))
{
function valid_user($user_id)
{
$ci=& get_instance();
$ci->load->database();
$ci->db->select('id');
$ci->db->where('id', $user_id);
$ci->db->where('activated', 1);
$ci->db->where('banned', 0);
$ci->db->limit(1);
$query = $ci->db->get('users');
if ($query->num_rows() > 0) //if user exists
{
return TRUE;
}
else
{
return FALSE;
}
}
}
我像这样将函数添加到我的验证规则中
$this->form_validation->set_rules('user_id', 'User ID', 'required|xss_clean|max_length[11]|is_natural_no_zero|valid_user');
它不执行valid_user 功能。我在这里做错了什么?
【问题讨论】:
-
您是否尝试将
valid_user函数添加到运行form_validation 的控制器? -
另外看来,在你的
set_rules中,你必须根据codeigniter.com/user_guide/libraries/… 设置callback_valid_user而不是valid_user -
@user:你们的两个cmets都会去解决问题;将它们添加为答案,而不是 cmets!
-
duuuuuuuuuuuude 不要将函数声明包装在 if 语句中。这不是一个好习惯。
-
@FinalForm,为什么不呢?你的意思是
if ( ! function_exists('valid_user'))吗? Codeigniter 辅助函数也是这样包装的。
标签: php forms validation function codeigniter