设置验证消息

时间:2013-01-18 22:24:09

标签: php codeigniter

我正在尝试为set_rule设置验证消息....这可能吗?

我试过这个

$this->form_validation->set_rules('payment_amount', 'Payment Amount', 'regex_match[/^\d{0,4}(\.\d{1,2})?$/]');
$this->form_validation->set_message('payment_amount', 'This is a test');

我的消息没有改变。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您可以通过为规则创建功能来设置自定义验证错误消息。

此代码未经测试。

public function payment_amount($str)
{
    if (preg_match('[/^\d{0,4}(\.\d{1,2})?$/]', $str)
    {
        $this->form_validation->set_message('payment_amount', 'The %s field has an error');
        return FALSE;
    }
    else
    {
        return TRUE;
    }
}

我们CI的回调如下:

$this->form_validation->set_rules('payment_amount', 'Payment Amount', 'callback_payment_amount')

答案 1 :(得分:0)

创建MY_Form_validation.php&把你的代码放进去。

使用文档(http://ellislab.com/codeigniter/user-guide/general/creating_libraries.html

扩展本地库

如果您只需要为现有库添加一些功能 - 可能添加一两个功能 - 那么用您的版本替换整个库就太过分了。在这种情况下,最好只是扩展类。扩展一个类几乎与用一些例外替换类相同:

类声明必须扩展父类。 您的新班级名称和文件名必须以MY_为前缀(此项目是可配置的。请参见下文。)。 例如,要扩展本机Email类,您将创建一个名为application / libraries / MY_Email.php的文件,并使用以下命令声明您的类:

class MY_Email extends CI_Email {

}

注意:如果需要在类中使用构造函数,请确保扩展父构造函数:

class MY_Email extends CI_Email {

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