3

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

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

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

4

3 回答 3

9

感谢我开始。但是我需要添加这个,以防其他人在使用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() )会奏效。

于 2012-12-12T19:32:02.843 回答
5

这取决于您将如何处理结果,但您可以使用以下函数来获取错误字段:

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

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

于 2012-10-14T22:32:30.213 回答
0

要设置您自己的自定义消息,您可以编辑该文件,或使用以下函数:

$this->form_validation->set_message('rule', 'Error 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!
于 2013-07-18T16:45:32.217 回答