加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 21:45:28 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试使用CodeIgniter的表单验证类.我已经使用了“valid_email”参数,如下面的代码所示,但即使输入了无效的电子邮件地址,它仍会通过验证检查.我测试了字符串:testing123 public function login(){ $this-form_validation-set_rules('authEmail','trim|
我正在尝试使用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('/');
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读