2012-06-04 15 views
5

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?

+0

Puoi fare in modo che CodeIgniter pensi che fosse dal POST, anche se non lo era. '$ _POST = $ _GET', forse? –

+1

lol, l'intera classe è hardcoded per usare '$ _POST'. Quindi, a meno che non lo avanzi completamente, allora no. – Esailija

+0

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) –

risposta

10

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.

+0

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

+1

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

+0

Ive ha provato $ _POST = $ GET ma il validation-> run() restituisce ancora FALSE – Zorgarath

1

È possibile sovrascrivere la funzione Form_validation eseguita in una MY_Form_Validation e modificarla.

Problemi correlati