【发布时间】:2014-12-23 13:21:06
【问题描述】:
我有要求,我可以在新的添加功能中验证唯一值,例如
$this->form_validation->set_rules('email','Email','required|valid_email||is_unique[users.Email]');
它工作但在编辑功能它不工作..我写了回调函数来检查唯一的电子邮件。 这是我在编辑函数中编写的代码
$this->form_validation->set_rules('email','Email','required|valid_email|callback_check_email');
function check_username($email)
{
$return_value = $this->user_model->check_email($email);
if ($return_value)
{
$this->form_validation->set_message('email_check', 'Sorry, This username is already used by another user please select another one');
return FALSE;
}
else
{
return TRUE;
}
}
和用户模型
function check_mail($email)
{
$sql = "SELECT users.Email
FROM users
WHERE
$email = users.Email
";
$result = $this->db->query($sql)->result_array();
return $result;
}
我无法验证唯一的电子邮件
【问题讨论】:
-
user_model 中的函数名称与控制器中调用的函数名称不同。如果这不是错字,那么我认为这就是问题所在。否则,我认为 Arun 的答案会起作用,但在控制器 (IMO) 中进行数据库操作并不是很干净
-
使用回调函数,更新规则
标签: php sql codeigniter