CodeIgniter如何获取验证失败的所有字段名称

时间:2012-10-14 04:19:35

标签: validation codeigniter-2

我想找到验证失败的所有字段名称。

我想在验证失败字段上应用错误类。我知道如何显示与该字段相关的错误消息。

但有些我想知道字段名称,以便我可以检查列表中的天气字段,并在该字段中添加错误类。

3 个答案:

答案 0 :(得分:8)

感谢让我开始。但我需要补充一下,以防其他人在使用pit的答案时遇到同样的问题。在CI 2.0中,我尝试了它并得到了:

Call to undefined method MY_Form_validation::error_array()

由于我没有故意尝试从我的自定义表单验证中调用任何内容,因此我查看了/system/libraries/Form_validation.php。至少在2.0中,没有函数error_array()。

所以要修复它,如果你还没有,请创建一个文件/application/libraries/MY_Form_validation.php(区分大小写)并输入以下代码:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Form_validation extends CI_Form_validation {

    function __construct(){
        parent::__construct();
    }

    function error_array(){
        return $this->_error_array; 
    }
}
?>

然后执行print_r( $this->form_validation->error_array() )即可。

答案 1 :(得分:5)

这取决于你将如何处理结果,但这是一个可用于获取错误字段的函数:

print_r( $this->form_validation->error_array() )

如果您需要更多内容,请查看/system/libraries/form_validation.php 从那里你可以找到你想要的任何东西,包括与lib相关的函数和变量名称。

答案 2 :(得分:0)

要设置自己的自定义消息,您可以编辑该文件,也可以使用以下功能:

$this->form_validation->set_message('rule', 'Error Message');

其中规则对应于特定规则的名称,而错误消息是您要显示的文本。

如果您在错误字符串中包含%s,则会在您设置规则时将其替换为您用于字段的“人”名称。

$this->form_validation->set_rules(array('field' => 'name','label' => 'Full Name','rules' => 'required'));
$this->form_validation->set_message('required', '%s Must be fill!');

echo validation_errors() //Full name Must be fill!