微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – CodeIgniter表单验证valid_email无法正常工作

我正在尝试使用CodeIgniter的表单验证类.我已经使用了“valid_email”参数,如下面的代码所示,但即使输入了无效的电子邮件地址,它仍会通过验证检查.我测试了字符串:testing123

public function login()
{   
    $this->form_validation->set_rules('authEmail', 'trim|required|valid_email|xss_clean');
    $this->form_validation->set_rules('authPassword', 'trim|required');

    $email = $this->input->post('authEmail');
    $password = $this->input->post('authPassword');

    if($this->form_validation->run() === FALSE) {
        $this->session->set_flashdata('formValidationError',  validation_errors('<p class="error">', '</p>'));
        redirect('/');
    } else {
        // Begin authentication
    }
}

任何人都知道我做错了什么或者这是CodeIgniter问题?

要注意,我正在设置flashdata会话,而不是使用:

<?PHP echo validation_errors(); ?>

…这是因为我正在重定向回主页(这是登录页面,因为它是一个私人网站).

解决方法:

试试这个:

public function login()
{   
    $this->load->library('form_validation');

    $this->form_validation->set_rules('authEmail', 'Email', 'trim|required|valid_email|xss_clean');
    $this->form_validation->set_rules('authPassword', 'Password', 'trim|required');

    if($this->form_validation->run() !== false){
    //validation passed
    $email = $this->input->post('authEmail');
    $password = $this->input->post('authPassword');
     // Begin authentication
    }
    else {
        $this->session->set_flashdata('formValidationError',  validation_errors('<p class="error">', '</p>'));
        redirect('/');
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐