Php 如何使用CodeIgniter';验证匹配类型;什么是表单验证类?
如何验证我的电子邮件,这是由用户提供的,它必须签入数据库表字段电子邮件..那么我如何才能做到这一点?回拨功能不起作用,有什么建议吗 我已经这样做了,但没有起作用:Php 如何使用CodeIgniter';验证匹配类型;什么是表单验证类?,php,forms,Php,Forms,如何验证我的电子邮件,这是由用户提供的,它必须签入数据库表字段电子邮件..那么我如何才能做到这一点?回拨功能不起作用,有什么建议吗 我已经这样做了,但没有起作用: $this->form_validation->set_rules('email','Email','trim|required|xss_clean|valid_email|matches[mod_register.email]'); 此处mod_register是表名,email是字段。只匹配另一个表单字段,而不是数据
$this->form_validation->set_rules('email','Email','trim|required|xss_clean|valid_email|matches[mod_register.email]');
此处
mod_register
是表名,email是字段。只匹配另一个表单字段,而不是数据库字段,请参阅:
您可以使用回拨:
$this->form_validation->set_rules('email','Email','trim|required|xss_clean|valid_email|callback_check_email');
然后在控制器中添加以下功能:
/**
* validation function for checking email exists in database
* @param string $email
* @return bool
*/
public function check_email($email = NULL) {
// if no email specified, skip
if (empty($email)) {
return TRUE;
}
// build query to check if email exists in database
$where = array(
'email' => $email
);
// run query
$query = $this->db->get_where('mod_register', $where, 1);
// check results
if ($query->num_rows() == 1) {
// matches
return TRUE;
}
// no matches
return FALSE;
}
见: