我要做的是扩展表单验证类并在那里添加一些自定义验证规则,但由于某些原因,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函数放在控制器中,它可以正常工作。有什么想法吗?
答案 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;
}
}