我的问题似乎是将$ data ['error']数组传递给视图,因为当错误的数据被消失时我没有错误:
我的表单发布到此控制器索引函数:
public function index() {
$data = array();
$data['title'] = 'Member Login';
$this->load->model('auth_model');
$remember = $this->input->post('remember_me');
$this->auth_model->process($remember);
$this->template->content = View::factory('login', $data);
}
这是模型处理功能:
public function process($remember = null){
$this->load->library('form_validation');
$this->form_validation->set_rules('email_address', 'Email', 'required|valid_email');
$this->form_validation->set_rules('password', 'Password', 'required|min_length[8]');
if($this->form_validation->run()){
//form validated
if($res = $this->verify_user($this->input->post('email_address'), $this->input->post('password'))){
//user verified
} else {
$data['errors'] = 'Incorrect username and or Password';
}
}
}
在视图中,我使用echo validation_errors();
访问表单错误如果我提交包含wron数据的表单,我没有收到错误消息......为什么?
此致
答案 0 :(得分:1)
如图所示更新控制器功能。
public function index() {
$data = array();
$data['title'] = 'Member Login';
$this->load->model('auth_model');
$remember = $this->input->post('remember_me');
$data['errors'] = $this->auth_model->process($remember);
$this->template->content = View::factory('login', $data);
}
返回类似如下所示的错误。
public function process($remember = null){
$this->load->library('form_validation');
$this->form_validation->set_rules('email_address', 'Email', 'required|valid_email');
$this->form_validation->set_rules('password', 'Password', 'required|min_length[8]');
if($this->form_validation->run()){
//form validated
if($res = $this->verify_user($this->input->post('email_address'), $this->input->post('password'))){
//user verified
} else {
return 'Incorrect username and or Password';
}
}
}