2012-06-04 27 views
5

La biblioteca de validación de formularios parece funcionar solo en POST. Necesito usar cadenas de consulta y me gustaría usar CI para validar los valores pasados. ¿Hay alguna forma de hacer esto?Validación de CodeIgniter: ¿posible validar cadenas de consulta GET?

+0

Puede hacer que CodeIgniter crea que fue de POST, aunque no lo era. '$ _POST = $ _GET', tal vez? –

+1

lol, toda la clase está codificada para usar '$ _POST'. Entonces, a menos que lo anule por completo, entonces no. – Esailija

+0

posible duplicado de [¿Cómo valido un campo de formulario en Codeigniter al usar Obtener parámetros?] (Http://stackoverflow.com/questions/10524992/how-do-i-validate-a-form-field-in-codeigniter -when-using-get-parameters) –

Respuesta

10

The current Codeigniter 3.0 development branch proporciona una opción para insertar su propia variable en lugar de $ _POST. Entonces podrías comenzar a usar 3.0.

Alternativamente, la única forma en CI2.1 es hacer $ _POST = $ _ GET antes de ejecutar la validación.

+0

¿Podría proporcionar la "opción de insertar su propia variable en lugar de $ _POST"? Porque estoy migrando a CI 3.0 y todos mis form_validation funcionan bien, excepto uno. Recibo valores GET y me gustaría validarlos ... No sé cómo hacerlo, ¡gracias! – Maxime

+1

¡Acabo de descubrir cuál era el problema ...! En CI 3.0, agregan un pequeño control. Vaya a system/librairies/Form_validation.php. Busque la función "set_rules" y elimine la línea: if ($ this-> CI-> input-> method()! == 'post' && empty ($ this-> validation_data)) { \t \t \t return $ this ; \t \t – Maxime

+0

} He intentado $ _POST = $ GET pero el validation-> run() devuelve FALSO todavía – Zorgarath

1

Puede sobrescribir la función Form_validation ejecutada en MY_Form_Validation y modificarla.

Cuestiones relacionadas