2016-04-15 2 views
-1

Ich verwende HMVC in Code Igniter 3.0.4 Ich habe gegooglet und versucht, dieses Problem zu beheben, indem Sie folgende Dinge tun.Zugriff auf eine Fehlernachricht, die Ihrem Feldnamen entspricht pan_number. (PanValidation)

1> Auto geladen Sicherheit

2> Mit xss_clean

3> In application/Sprache/Englisch die Datei setzen: MY_form_validation_lang.php mit Fehlermeldungen

4> in application/Bibliotheken/folgenden Code MY_form_validation.php setzen:

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> hinzugefügt individuelle Fehler in Anwendung/Sprache/Englisch/MY_Form_validation_lang fil e:

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

Hier ist der endgültige Code (Controller):

<?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); 
    } 
} 
?> 

Und der Fehler kommt. Ich weiß nicht, was los ist. Bitte helfen Sie. Ich bin mit Hostern auf Linux, und der Dateiname ist MY_form_validation_lang.php aber lokal seine MY_Form_validation_lang.php (Differenz ist Kapital f)

Antwort

1

Sie sollten den nächsten Dateinamen verwenden: form_validation_lang.php für Ihre individuelle Sprachdatei. Verwenden Sie nicht das Präfix "MY_" dafür.
(z .: application/Sprache/Englisch/form_validation_lang.php)
siehe Details:
https://www.codeigniter.com/userguide3/libraries/language.html

+0

Hallo Zaragoli, danke, habe ich versucht, die Lösung, die Sie sagte mir, aber es zeigt immer noch gleichen Fehler. –

Verwandte Themen