2012-06-04 14 views
5

Biblioteka sprawdzania poprawności formularzy działa tylko w trybie POST. Potrzebuję użyć ciągi kwerendy i chciałbym użyć CI do sprawdzania poprawności przekazywanych wartości. Czy jest jakiś sposób na zrobienie tego?Walidacja CodeIgniter: czy można zweryfikować ciągi zapytań GET?

+0

Możesz sprawić, aby CodeIgniter myślał, że pochodzi z POST, mimo że tak nie było. '$ _POST = $ _GET', może? –

+1

lol, cała klasa jest zakodowana na użytek '$ _POST'. Więc jeśli całkowicie go nie zastąpisz, to nie. – Esailija

+0

możliwy duplikat [Jak mogę sprawdzić poprawność pola formularza w Codeigniter podczas korzystania z Get parametry?] (Http://stackoverflow.com/questions/10524992/how-do-i-validate-a-form-field-in-codeigniter -when-using-get-parameters) –

Odpowiedz

10

The current Codeigniter 3.0 development branch zapewnia opcję wstawienia własnej zmiennej zamiast $ _POST. Więc możesz zacząć używać 3.0.

Alternatywnie, jedynym sposobem w CI2.1 jest wykonanie $ _POST = $ _ GET przed uruchomieniem sprawdzania poprawności.

+0

Czy mógłbyś podać "opcję wstawienia własnej zmiennej zamiast $ _POST"? Ponieważ migrowałem do CI 3.0 i wszystkie moje form_validation działają dobrze oprócz jednego. Otrzymuję wartości GET i chciałbym je zatwierdzić ... Nie wiem jak to zrobić, dziękuję! – Maxime

+1

Właśnie dowiedziałem się, o co chodzi ... !!! W CI 3.0 dodają trochę czeku. Przejdź do systemu/librairies/Form_validation.php. Wyszukaj funkcję "set_rules" i usuń wiersz: if ($ this-> CI-> input-> method()! == 'post' && empty ($ this-> validation_data)) { \t \t \t return $ this ; \t \t} – Maxime

+0

Ive wypróbowany $ _POST = $ GET ale Potwierdzanie> run() nadal zwraca FAŁSZ – Zorgarath

1

Można zastąpić funkcję Form_validation uruchamianą w zmiennej MY_Form_Validation i zmodyfikować ją.

Powiązane problemy