我正在尝试使用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('/'); } }