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