2016-04-15 3 views
-1

私はコードイグナイターでHMVCを使用しています。3.0.4 私はグーグルで次のことを行うことでこの問題を解決しようとしました。フィールド名pan_numberに対応するエラーメッセージにアクセスできません。(panValidation)

1>オートロードされたセキュリティ使用

2> xss_clean

アプリケーションで

3> /言語/英語ファイルに置く:MY_form_validation_lang.phpアプリケーション/ライブラリのエラーメッセージ

4>とを/アプリケーション/言語/英語/ MY_Form_validation_langフィルで

public $CI; 
public function __construct($rules = array()) { 
    parent::__construct($rules); 
    $this->CI->lang->load('MY_form_validation'); 
} 

function run($module = '', $group = '') { 
    (is_object($module)) AND $this->CI = &$module; 
    return parent::run($group); 
} 

5>追加カスタムエラー:次のコードを入れMY_form_validation.php E:

<?php 
class Personal_details extends MX_Controller { 

    public $data = array(); 

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

     $this->load->library('session'); 
     no_cache(); 

     /* use xss clean */ 
     $this->load->helper('security'); 

     /* form and inputs */ 
     $this->load->helper('form'); 

     /* form validations */ 
     $this->load->library('form_validation'); 
    } 

    /* CUSTOM CHECK CONSTRAINT FOR FORM INPUT */ 

    public function panValidation($panNumber) { 
     $pan_regex = "/^[A-Z]{5}\d{4}[A-Z]{1}$/"; 
     if (!preg_match($pan_regex, $panNumber)) { 
      $this->form_validation->set_message('panValidation', 'Invalid PAN Number'); 
      return false; // invalid pan 
     } else { 
      return true; 
     } 
    } 

    public function index() { 
     if ($this->input->post()): 
      $this->form_validation->set_rules('pan_number', 'pan_number', 'required|strip_tags|trim|xss_clean|min_length[10]|max_length[10]|callback_panValidation');   

      if ($this->form_validation->run($this) === FALSE) { 
       /*$this->form_validation->set_message('panValidation', 'The {field} value is invalid');*/ 
       echo validation_errors(); 
      } else { 
       echo 'No error'; 
      } 
     endif; 
     $this->load->view('pan/index', $this->data); 
    } 
} 
?> 

そして、まだエラーが来ている:ここでは

$lang['panValidation'] = 'Invalid PAN Number system file'; 

は、最終的なコード(コントローラ)です。何が起こっているのか知りません。助けてください。 あなたは次のファイル名を使用する必要があり

答えて

1

を私は、Linux上の共有ホストを使用していて、ファイル名がMY_form_validation_lang.phpですが、ローカルにそのMY_Form_validation_lang.php(差は資本Fである):カスタム言語ファイルのform_validation_lang.phpを。プレフィックスとして「MY_」を使用しないでください。
(例えば:アプリケーション/言語/英語/ form_validation_lang.php)
の詳細を参照してください。
https://www.codeigniter.com/userguide3/libraries/language.html

+0

こんにちはZaragoliを、おかげで、私はあなたが私に言った解決策を試してみましたが、それはまだ同じエラーが表示されます。 –

関連する問題