如何在控制器Codeigniter中显示验证消息

时间:2012-10-06 07:31:18

标签: php jquery codeigniter

如何在控制器中使用{ci_form_validation field ='title'error ='true'}?

我有这段代码

$this->load->library('form_validation');
$this->form_validation->set_rules('title', $this->lang->line('title'), 'trim|required|min_length[3]|xss_clean');   
$this->form_validation->set_rules('fahad', $this->lang->line('blog'), 'trim|required|min_length[20]|xss_clean'); 
$this->form_validation->set_rules('writer', $this->lang->line('writer'), 'trim|required|alpha_dash|min_length[3]|xss_clean');

我想在控制器中打印错误消息因为我正在使用jquery。

2 个答案:

答案 0 :(得分:5)

使用用户指南

echo form_error('field_name');

EDITED

好的尝试

echo validation_errors();

这将为您提供每个错误,之后您可以得到您想要的内容

答案 1 :(得分:1)

实际上,开箱即用的CodeIgniter无法做到这一点。但是,扩展原始表单验证库非常容易。

  • 在您的应用程序/库文件夹中创建一个名为“MY_Form_validation.php”的文件

  • 将以下代码添加到application / libraries / MY_Form_validation.php

    class MY_Form_validation extends CI_Form_validation {
    
        public function __construct() {
    
            parent::__construct();
    
        }
    
        /**
         * Return all validation errors
         *
         * @access  public
         * @return  array
         */
        function get_all_errors() {
    
            $error_array = array();
    
            if (count($this->_error_array) > 0) {
    
                foreach ($this->_error_array as $k => $v) {
    
                    $error_array[$k] = $v;
    
                }
    
                return $error_array;
    
            }
    
            return false;
    
        }
    
    
    }
    

然后从您的控制器:

    echo "<pre>";

    print_r($this->form_validation->get_all_errors());

    echo "</pre>";