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','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','</p>'));
        redirect('/');
    }
}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...