我想查看表单提交,该电子邮件在两个表格中是唯一的"学生注册"和#34;员工"。我试过这个:
$this->form_validation->set_rules('email', 'Email', 'required|xss_clean|trim|is_unique[student_registration.email]');
$this->form_validation->set_rules('email', 'Email', 'required|xss_clean|trim|is_unique[staffs.email]');
问题是,如果电子邮件在学生表中不是唯一的,但在员工表中是唯一的,它会成功提交表单,因为上次验证设置为true。我该如何解决这个问题?
答案 0 :(得分:1)
您可以使用回调功能
$this->form_validation->set_rules('email', 'email', 'required|callback_has_email[email]');
回叫功能
public function has_email($str)
{
/*do your stuff check for email*/
if (true)
{
$this->form_validation->set_message('has_email', 'The %s field already register');
return FALSE;
}
else
{
return TRUE;
}
}
答案 1 :(得分:0)
尝试:
$this->form_validation->set_rules('email', 'Email', 'required|xss_clean|trim|is_unique[student_registration.email]|is_unique[staffs.email]');