首页 文章

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

提问于
浏览
2

我想要做的是扩展表单验证类并在那里添加一些自定义验证规则,但由于某些原因,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()函数永远不会返回任何错误(我已将错误消息存储在配置文件夹中),如果我将valid_date函数放在控制器中,它可以正常工作 . 有任何想法吗?

3 回答

  • 0

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

  • 0

    您需要设置一条消息 .

    if(condition)
    {
      return true;
    }
    else
    {
       $this->CI->form_validation->set_message('function_name', 'message');
       return false;
    }
    
  • 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;
        }
    
    }
    

相关问题