2010-08-16 16 views
8

Sto cercando di personalizzare il CSS/HTML per visualizzare i messaggi di errore in codeigner in modo da poter applicare un tag anche a ciascuno e modellarli.Come si personalizzano/stili gli errori di codeign?

Ho provato a Google questo e cercare il manuale, ma deve aver cercato i termini sbagliati - qualcuno può darmi una mano?

risposta

22

Si può fare qualcosa di simile ...

$this->form_validation->set_error_delimiters('<div class="error">', '</div>'); 

vedi relativo Codeigniter documentation

Nota: aggiornato per correggere riferimento alla funzione (convalida dovrebbe essere form_validation).

+0

Grazie, non ho idea di quanto mi sia perso ... mi dispiace. – Walker

+2

Non mi piace molto, che devi chiamare questo metodo ogni volta che devi fare la convalida del modulo. Se si desidera evitare una duplicazione, è possibile impostarlo globalmente con questo metodo: http://chris-schmitz.com/changing-default-error-delimiters-in-codeigniter/ – petrkotek

+0

@petrkotek YOU DA MVP GRAZIE –

1
$this->validation->set_error_delimiters('<div class="error">', '</div>'); 
3

Mi raccomando modo più elegante.

Сreato un file MY_Form_validation.php e rilasciato in applicazioni/librerie con il seguente codice che sostituisce i delimitatori predefiniti.

class MY_Form_validation extends CI_Form_validation { 

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

     $this->_error_prefix = '<p class="error">'; 
     $this->_error_suffix = '</p>'; 
    } 
} 

Link originale: http://chris-schmitz.com/changing-default-error-delimiters-in-codeigniter/

0

È possibile utilizzare il metodo del "set_error_delimiters" della libreria "Form Validation":

$this->validation->set_error_delimiters('<div class="error">', '</div>'); 

Inoltre è possibile fatta su codice inline con modulo helper:

validation_errors('<div class="error">', '</div>') 

Oppure creato estende la classe sulla libreria form_validation:

class MY_Form_validation extends CI_Form_validation 
{ 
    public function __construct($rules = array()) 
    { 
     // applies delimiters set in config file. 
     if(! isset($rules['error_prefix'])) 
     { 
      $rules['error_prefix'] = '<div class="error">'; 
     } 

     if(! isset($rules['error_suffix'])) 
     { 
      $rules['error_suffix'] = '</div>'; 
     } 

     parent::__construct($rules); 
    } 
} 

mi piace l'ultimo metodo, perché permettono di impostare uno stile di default e sovrascrivere da prima metodo di spiegare.

Ci dispiace per il mio inglese :)

0
$this->validation->set_error_delimiters('<div class="error">', '</div>'); 

Questa è la sintassi sbagliata. il Corretto è

$this->form_validation->set_error_delimiters('<div class="error">', '</div>'); 
Problemi correlati