我想用电子邮件地址验证输入字段。
如果我使用
$this->form_validation->set_rules('email', 'Email', 'required|valid_email|is_unique[users.email]');
如果我在字段中输入相同的示例来测试验证,则结果为...
“测试” =失败
“ test @” =失败
“ test @ test” =未失败
在此示例中,我的值不是正确的电子邮件语法,但是验证接受该值。无法发送电子邮件至test @ test。
我该怎么做,codeigniter的格式验证将检查电子邮件的语法正确?
非常感谢支持我。
答案 0 :(得分:1)
是的,我也是这样。最终,我创建了用于验证电子邮件的回调函数,该函数就像魅力一样。
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');
希望有帮助!