加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在codeigniter中进行否定表单验证?

发布时间:2020-12-13 17:22:55 所属栏目:PHP教程 来源:网络整理
导读:is_unique是表单验证,不允许数据库中存在该值. 但是,我可以做相反的事吗?例如,我想要存在的值 在数据库中,所以,我制定如下规则: $this-form_validation-set_rules('email','Email','required|max_length[32]|valid_email|(!(is_unique[users.email]))');
is_unique是表单验证,不允许数据库中存在该值.
但是,我可以做相反的事吗?例如,我想要存在的值
在数据库中,所以,我制定如下规则:

$this->form_validation->set_rules('email','Email','required|max_length[32]|valid_email|(!(is_unique[users.email]))');

但似乎没有像我预期的那样成功,任何建议?谢谢.

解决方法

你可以这样做

$this->form_validation->set_rules('email','required|max_length[32]|valid_email|callback_email_available');

控制器方法

public function email_available($str)
{
    // You can access $_POST variable
    $this->load->model('mymodel');
    $result =   $this->mymodel->emailAvailability($_POST['email']);
    if ($result)
    {
        $this->form_validation->set_message('email_available','The %s already exists');
        return FALSE;
    }else{
        return TRUE;
    }
}

模型mymodel.php

public function emailAvailability($email)
{
    $this->db->where('email',$email);
    $query  =   $this->db->get('tablename');
    return $query->row();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读