2012-04-03 328 views
0

我试图覆盖验证消息的默认值,这从我的理解应该只是将一个名为是很容易:这个文件的笨覆盖默认的验证消息

application/language/english/MY_form_validation_lang.php 

内容是:

<?php 

$lang['required']   = "required."; 

我已经做到了这一点,但它只是不覆盖缺省值,更糟糕的是,这是工作,所以不知道如何切换这一关。

我也尝试直接从我的自定义库/ 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(); 
     $this->CI->lang->load('MY_form_validation'); 
    } 
} 

该文件正在加载,因为我可以从那里看到echo,但是没有任何消息被覆盖。我也注意到我的自定义验证功能正在加载。所以它加载的文件,但不应用它们或一些奇怪的东西。

回答

2

你的文件名应该是 form_validation_lang.phpMY_form_validation_lang.php检查codeiginter language class document

+0

雅,完全覆盖默认值,不会扩展它们。 – Rob 2012-04-04 16:48:24

+0

你说“我试图覆盖验证消息的默认值”,这是怎么做的,你没有办法扩展它们,你需要创建你自己的lang文件,然后使用'$ this-> form_validation - > set_message('rule','错误消息');'覆盖此控制器中的规则而不是完整的应用程序检查[http://codeigniter.com/user_guide/libraries/form_validation.html#settingerrors](http: //codeigniter.com/user_guide/libraries/form_validation.html#settingerrors) – zaherg 2012-04-05 05:44:09

+0

我希望你评价它,如果你觉得它有用,如果它的答案你的问题.. – zaherg 2012-04-07 05:22:29