![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 6 Dołączył: 20.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
napisałem dla siebie klasę walidacji. Nigdy nie korzystałem z walidacji, tak więc nie wiem czy jest dobrze napisane. kod się nie zmieścił, więc wrzuciłem na stronę typu no-paste na nopaste.pl na wklej.org Użycie:
Opcje walidacji Kod maxlenght - maksymalna ilość znaków w stringu minlenght - minimalna ilość znaków between - w tablicy: minimalna oraz maksymalna ilość znaków type - typ maxtimechar - maksymalna liczba wyrazów bądź znaków w stringu (słowo oddzielone od liczby [spilit] (a[spilit]5)) required - string nie może być pusty, jeżeli damy true regex - regex pola z błędami są publicznie dostępne, także można jest dowolnie zmieniać. Ten post edytował PiotrekM 23.03.2010, 19:32:36 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
PiotrekM -> ech, przeczytaj wszystko jeszcze raz, ale ze zrozumieniem... mówimy właśnie o tym Twoim "numeric", które nie zadziała, bo do sprawdzenia czy pole zawiera liczbę użyłeś funkcji is_int(). Nie rozumiesz w ogóle, jak ta funkcja działa - ona nie sprawdza, czy wartość jest liczbą, tylko czy wartość zmiennej PHP ma aktualnie typ liczbowy, a to dwie różne rzeczy:
Piszemy przecież cały czas, że w tablicach $_GET, $_POST wszystkie wartości są ciągami tekstowymi, więc bez względu na to, jaką wartość będą zawierać, is_int() zwróci Ci dla nich false i możesz pożegnać się np. ze sprawdzeniem czy przekazany do skryptu ID jest poprawny... do takiego sprawdzania się używa wyrażeń regularnych i funkcji z rodziny ctype_xxx(). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 19:44 |