【问题标题】:CodeIgniter Form Validation Set Message away from ControllerCodeIgniter 表单验证设置消息远离控制器
【发布时间】:2015-03-21 16:21:00
【问题描述】:

我的控制器中有当前代码:

$validated=$this->form_validation
    ->set_message('required',lang('form_error_required'))
    ->set_message('valid_email',lang('form_error_email'))
    ->run()

规则保存在我的表单验证配置文件中。

它按原样完美运行,但我个人认为这些不应该出现在控制器中(也不应该出现在模型中)。

我想知道是否可以将这些 set_message 保存在配置文件中,或者更好的是,如何在不更改系统文件夹中的语言文件的情况下覆盖现有的“required”和“valid_email”行。

我尝试在我的语言文件中包含“required”和“valid_email”行,并更改了表单验证库和我的语言文件的加载顺序 - 它没有改变任何内容。

【问题讨论】:

    标签: php forms codeigniter object configuration


    【解决方案1】:

    查看系统/语言/english/form_validation_lang.php。

    将其复制到 application/language/yourlang/ 中,当然还要翻译里面的字符串。

    【讨论】:

    • 感谢您的回答。这个我也试过了,还是不行。
    • 这很奇怪。我刚刚尝试了全新安装的 CI,它运行良好。您是否更改了配置文件中的默认语言?
    【解决方案2】:

    我是这样做的:

      //path to config file
     ../application/config/form_validation.php 
    

    然后是我的构造:

     $this->load->library('form_validation');
    

    【讨论】: