codeigniter中的自定义表单验证出错

codeigniter中的自定义表单验证出错,codeigniter,validation,Codeigniter,Validation,我的自定义函数不起作用。我正在检查传递的值是否不存在于数据库中,并返回错误消息。我做错了什么? 控制器功能 function sp_exists($str) { $this->user_model->sp_exists($str); $this->form_validation->set_message('sp_exists', 'The %s field does not exists');

我的自定义函数不起作用。我正在检查传递的值是否不存在于数据库中,并返回错误消息。我做错了什么?
控制器功能

function sp_exists($str)
        {
            $this->user_model->sp_exists($str);
            $this->form_validation->set_message('sp_exists', 'The %s field does not exists');
        }
function sp_exists($str)
    {
        $this->db->where('member_id',$str);
        $query = $this->db->get('user');
        if ($query->num_rows() > 0)
        {
            return false;
        }
        else
        {
            return true;
        }
    }
$this->form_validation->set_rules('sponsor_id', 'Sponsor ID', 'trim|required|xss_clean|callback_sp_exists');
模型功能

function sp_exists($str)
        {
            $this->user_model->sp_exists($str);
            $this->form_validation->set_message('sp_exists', 'The %s field does not exists');
        }
function sp_exists($str)
    {
        $this->db->where('member_id',$str);
        $query = $this->db->get('user');
        if ($query->num_rows() > 0)
        {
            return false;
        }
        else
        {
            return true;
        }
    }
$this->form_validation->set_rules('sponsor_id', 'Sponsor ID', 'trim|required|xss_clean|callback_sp_exists');
回调函数

function sp_exists($str)
        {
            $this->user_model->sp_exists($str);
            $this->form_validation->set_message('sp_exists', 'The %s field does not exists');
        }
function sp_exists($str)
    {
        $this->db->where('member_id',$str);
        $query = $this->db->get('user');
        if ($query->num_rows() > 0)
        {
            return false;
        }
        else
        {
            return true;
        }
    }
$this->form_validation->set_rules('sponsor_id', 'Sponsor ID', 'trim|required|xss_clean|callback_sp_exists');
你有没有看报纸?它清楚地解释了如何做到这一点

首先,我认为您应该将模型函数更改为:

function sp_exists($str)
{
  $this->db->where('member_id',$str);
  $query = $this->db->get('user');
  return $query->num_rows() > 0;
}
控制器应该是这样的:

function sp_exists($str)
{
  if(!$this->user_model->sp_exists($str))
  {
    $this->form_validation->set_message('sp_exists', 'The %s field does not exists');
    return FALSE;
  }
  else
  {
    return TRUE;
  }
}
你有没有看报纸?它清楚地解释了如何做到这一点

首先,我认为您应该将模型函数更改为:

function sp_exists($str)
{
  $this->db->where('member_id',$str);
  $query = $this->db->get('user');
  return $query->num_rows() > 0;
}
控制器应该是这样的:

function sp_exists($str)
{
  if(!$this->user_model->sp_exists($str))
  {
    $this->form_validation->set_message('sp_exists', 'The %s field does not exists');
    return FALSE;
  }
  else
  {
    return TRUE;
  }
}
改变

改变


当前输出的是什么?只是字段为空,但没有提交表单。回调函数根本没有返回任何内容。当前输出的是什么?只是字段为空,但没有提交表单。回调函数根本没有返回任何内容。我做了更改,但仍然不起作用。而且我没有错误地加载库。我想不出它出了什么问题。你能把你的表格代码也给我看看吗?到底是什么不起作用?请尝试准确描述提交表单时发生的情况。我做了更改,但仍然不起作用。而且我没有错误地加载库。我想不出它出了什么问题。你能把你的表格代码也给我看看吗?到底是什么不起作用?请尽量准确描述提交表格时发生的情况。