如何做一个反面表单验证在codeigniter? [英] How to do a negative form validation in codeigniter?
本文介绍了如何做一个反面表单验证在codeigniter?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
is_unique
是不允许值存在于数据库中的表单验证。
但是,我可以做对立的吗?例如,我想要在数据库中存在的值
,所以,我使这样的规则:
is_unique
is the form validation which not allow the value exist in the database.
But, can I do the opposite one? for example, I would like to need the value which is exist
in the database, so, I make the rules like this:
$this->form_validation->set_rules('email', 'Email', 'required|max_length[32]|valid_email|(!(is_unique[users.email]))');
但是似乎没有我预期的成功,任何建议?谢谢。
But it seems not success as I expected, any recommends? Thanks.
推荐答案
您可以这样做
$this->form_validation->set_rules('email', '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
Model mymodel.php
public function emailAvailability($email)
{
$this->db->where('email',$email);
$query = $this->db->get('tablename');
return $query->row();
}
这篇关于如何做一个反面表单验证在codeigniter?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文