2017-10-18 64 views
1

我最近在我的項目中開始使用Codeignite 3,並且遇到了使用語言類的問題。無法使用語言類在Codeigniter 3的form_validation.php中設置自定義消息

這裏有來自我的項目的3個文件。

  1. /config/form_validation.php
  2. /controllers/login_controller.php
  3. /language/english/form_validation_lang.php

login_controller.php

if ($this->form_validation->run() == FALSE) { 
    ... do something 
} 

form_validation_lang.php

$lang['password_required'] = 'Please insert a password.'; 

form_validation.php

$config = array(
    array(
      'field' => 'username', 
      'label' => 'Username', 
      'rules' => 'required' 
    ), 
    array(
      'field' => 'password', 
      'label' => 'Password', 
      'rules' => 'required', 
      'errors' => array(
        'required' => 'lang:password_required', 
      ), 
    ) 
); 

消息顯示在視圖之外lang:password_required所有默認的錯誤。我如何在errors參數中使用語言類(它適用於標籤)?

非常感謝您的幫助!

回答

1

像這樣的東西應該工作(未測試):

$CI =& get_instance(); 
$CI->lang->load('form_validation', 'english'); 

$config = array(
    array(
      'field' => 'username', 
      'label' => 'Username', 
      'rules' => 'required' 
    ), 
    array(
      'field' => 'password', 
      'label' => 'Password', 
      'rules' => 'required', 
      'errors' => array(
        'required' => $CI->lang->line('password_required'), 
      ), 
    ) 
); 
相關問題