扩展表单验证类并在codeigniter中添加自定义验证规则

时间:2012-03-14 21:38:10

标签: php codeigniter

我要做的是扩展表单验证类并在那里添加一些自定义验证规则,但由于某些原因,codeigniter看不到它们中的任何一个......

我在名为MY_Form_validation.php的库文件夹中创建了新文件,并添加了以下代码:

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MY_Form_validation extends CI_Form_validation {

    function valid_date($str)
    {
        return FALSE;
    }

}

但validation_errors()函数永远不会返回任何错误(我已将错误消息存储在config文件夹中),如果我将valid_date函数放在控制器中,它可以正常工作。有什么想法吗?

3 个答案:

答案 0 :(得分:0)

我不确切知道答案是什么,但我脑子里有这种可能性,你是自动加载my_form_validation而不是form_validation吗?因为如果你加载form_validation,你的CI实例可能不知道你的类?

答案 1 :(得分:0)

您需要设置消息。

if(condition)
{
  return true;
}
else
{
   $this->CI->form_validation->set_message('function_name', 'message');
   return false;
}

答案 2 :(得分:0)

如何更改MY_Form_validation.php代码,因此它具有__construct()功能并调用父__construct(),如下所示:

class MY_Form_validation extends CI_Form_validation {

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

    public function valid_date($str)
    {
        return FALSE;
    }

}