gpt4 book ai didi

php - CodeIgniter 表单验证 valid_email 不工作

转载 作者:可可西里 更新时间:2023-11-01 00:24:47 24 4
gpt4 key购买 nike

我正在尝试使用 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 问题吗?

请注意,我正在设置闪存数据 session 而不是使用:

<?php echo validation_errors(); ?>

...这是因为我正在重定向回主页(这是登录页面,因为它是一个私有(private)站点)。

最佳答案

试试这个:

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

关于php - CodeIgniter 表单验证 valid_email 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9132550/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com