简体   繁体   English

表单验证错误未在视图中显示 - Codeigniter

[英]Form validation error not showing in view - Codeigniter

I can't figure out the problem whats wrong. 我无法弄清楚问题是什么错。 Form validation error are showing in controller when var_dump in controller but cannot see in view. 当控制器中的var_dump但在视图中看不到时,控制器中会显示表单验证错误。

Controller 调节器

  function submitform() {

    $pid = 16;
    $data['query'] = $this->viewmodel->get_page($pid);
    $data['notices'] = $this->viewmodel->get_notices();
    $data['events'] = $this->viewmodel->get_events();
    $data['gadgets'] = $this->viewmodel->get_gadgets();

    $this->load->library(array('form_validation', 'session'));
    $this->form_validation->set_rules('fname', 'Full Name', 'required|xss_clean|max_length[100]');
    $this->form_validation->set_rules('p_address', 'Permanet Address', 'required|xss_clean|max_length[200]');
    $this->form_validation->set_rules('captcha', 'Captcha', 'callback_validate_captcha');

    if (($this->form_validation->run() == FALSE)) {
        var_dump(validation_errors());     //Validation error is show here but not in view.
        die;
        $this->load->view('header');
        $this->load->view('register', $data);
        $this->load->view('eventsfull', $data);
        $this->load->view('sitemapcontent', $data);
        $this->load->view('footer', $data);
    } else {

        $name = $this->input->post('fname');

        $p_address = $this->input->post('p_address');

        $this->viewmodel->add_alumni($fname, $p_address);
        $this->session->set_flashdata('message', 'Your request has been submited for verify.');
        $data['error'] = "Your data submitted sucessfully.";
    }
    redirect('sres/register');
}

view (register.php) 查看(register.php)

 <?php echo validation_errors(); ?>

 //FORM element

Form validation library will work only when your view loaded as $this->load->view() . 只有当您的视图加载为$this->load->view()时,表单验证库才会起作用。 In redirection it will not work. 在重定向中它将无法工作。 You may use session flash data to pass errors in redirection view. 您可以使用会话闪存数据在重定向视图中传递错误。

$this->session->set_flashdata('errors', validation_errors());

now view file 现在查看文件

 <?php var_dump($this->session->flashdata('errors')); ?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM