La libreria di convalida dei moduli sembra funzionare solo su POST. Ho bisogno di usare le stringhe di query e vorrei usare l'IC per convalidare i valori passati. C'è un modo per fare questo?Convalida CodeIgniter: possibile convalidare le stringhe di query GET?
risposta
The current Codeigniter 3.0 development branch fornisce un'opzione per inserire la propria variabile anziché $ _POST. Quindi potresti iniziare a usare 3.0.
In alternativa, l'unico modo in CI2.1 è di fare $ _POST = $ _ GET prima di eseguire la convalida.
Potresti specificare "l'opzione per inserire la tua variabile invece di $ _POST"? Perché sto migrando a CI 3.0 e tutte le mie form_validation funzionano bene tranne una. Ricevo i valori GET e mi piacerebbe convalidarli ... Non so come fare, grazie! – Maxime
Ho appena scoperto qual era il problema ... !!! In CI 3.0, aggiungono un piccolo controllo. Vai a system/librairies/Form_validation.php. Cerca la funzione "set_rules" ed elimina la riga: if ($ this-> CI-> input-> method()! == 'post' && empty ($ this-> validation_data)) { \t \t \t return $ this ; \t \t} – Maxime
Ive ha provato $ _POST = $ GET ma il validation-> run() restituisce ancora FALSE – Zorgarath
È possibile sovrascrivere la funzione Form_validation eseguita in una MY_Form_Validation e modificarla.
Vedere questa pagina per la soluzione CodeIgniter 3: - http://www.codeigniter.com/userguide3/libraries/form_validation.html#validating-an-array-other-than-post
Per CodeIgniter 2 si può fare $ _POST = $ _GET; prima di $ this-> form_validation-> run() come menzionato sopra.
Riferimento How do I validate a form field in Codeigniter when using Get parameters?
Prima di regole di validazione, impostare i dati di convalida con il seguente codice.
$this->form_validation->set_data($_GET);
Puoi fare in modo che CodeIgniter pensi che fosse dal POST, anche se non lo era. '$ _POST = $ _GET', forse? –
lol, l'intera classe è hardcoded per usare '$ _POST'. Quindi, a meno che non lo avanzi completamente, allora no. – Esailija
possibile duplicato di [Come convalidare un campo modulo in Codeigniter quando si utilizzano i parametri Get?] (Http://stackoverflow.com/questions/10524992/how-do-i-validate-a-form-field-in-codeigniter -when-using-get-parameters) –