代码点火器 - 表单验证(无错误消息)

时间:2012-03-03 11:59:11

标签: php validation codeigniter

我在使用Code Igniter时遇到了麻烦。我试图启用显示没有用的错误,据我所知,我正确地关注文档。我遇到的问题是模板中的validation_errors()函数不会回应验证问题。验证过程正在运行(如果验证失败,则返回到表单),但不显示错误消息。此外,set_values()函数不会使用刚刚输入的信息填充字段,而是填充默认值。

tpl文件非常基本,并且具有正确的功能等,因此不包含(大),但我已经从下面的控制器中包含了该方法。

    // Setup Error Specifics

    $this->form_validation->set_error_delimiters('<div class="nNote nFailure hideit"><p><strong>FAILURE: </strong>', '</p></div>');

    $this->form_validation->set_rules('company_name', 'Company Name', 'required');
    $this->form_validation->set_rules('telephone_no', 'Telephone Number', 'required|is_natural');
    $this->form_validation->set_rules('email_address', 'Email Address', 'required|valid_email');

    // Begin Validation

    if($this->form_validation->run() === false) {

        $data = array();
        $data['company_info'] = $this->company_model->get_company($this->input->get('company_id'));

        $this->load->view('common/header');
        $this->load->view('company/edit', $data);
        $this->load->view('common/footer');

    } else {

        $this->session->set_flashdata('success_message', 'You have updated the company record(s)');
        redirect('customer/company/listing', 'location');

    }

感谢您的帮助, 谢谢!

更新---

在挖掘CodeIgniter的核心之后,我将搜索问题的范围缩小到了我正在使用的一些钩子。我已经完全注释掉了两个钩子中的每个钩子的方法代码(都是post_controller_constructor钩子)。即使每个钩子的代码被注释掉,表单验证仍然失败。看起来(除非我走错了路),post_controller_constructor挂钩会导致表单验证出现问题。

任何想法?

1 个答案:

答案 0 :(得分:1)

好的修复!!

原因与我正在运行并在此问题上显示的代码无关,它与我如何在CodeIgniter中实现钩子有关。我已经为钩子扩展了核心CI控制器(这是错误的事情)。我现在已经修改了钩子以使用get_instance()方法来检索CI实例,并且设法显然从钩子实现了相同的功能而没有引起这个问题。

所以我的错!

无论如何,谢谢你的帮助!