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(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |