我想用电子邮件地址验证输入字段。
如果我使用
$this->form_validation->set_rules('email', 'Email', 'required|valid_email|is_unique[users.email]');
如果我在字段中输入相同的示例来测试验证,结果是......
"测试" = 失败
"test@" = 失败
"test@test" = 未失败
在此示例中,我有一个值,该值未使用电子邮件语法正确格式化,但验证接受它。test@test电子邮件地址不应通过验证。
我必须做什么才能使代码点火器的表单验证将检查格式正确的电子邮件语法?
是的,我也是这种情况。最终,我创建了回调函数来验证电子邮件,这就像魅力一样工作。
function validateEmail($email) {
if (preg_match("/^[_a-z0-9-+]+(.[_a-z0-9-+]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$/", $email)) {
return true;
}
return false;
}
在验证规则中添加回调函数
$this->form_validation->set_rules('email', 'Email', 'required|is_unique[users.email]|callback_validateEmail');
希望对您有所帮助!