![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Tak piszę sobie powoli mój framework i ostatnio zobaczyłem w Zendzie fajne rozwiązanie validatora (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Trochę składnia zenda do mnie nie przemawia wiec napisałem coś swojego.
Dla nieobczajonych. Klasa sprawdza poprawność elementów w tablicy na podstawie określonych wymogów. Przyklad uzycia
* odnosi się do wszystkich zmiennych przy czym wlaściwości elementu sa zawsze nadrzędne(tj. gwiazdka ma zawsze mniejszy priorytet, nawet jesli podamy ją jako ostatni element tablicy). Dostępne wymagania minlength - minimalna długość maxlength - maksymalna dlugosc required - czy element nie moze byc pusty(czy jest wymagany) between - wartosc musi sie miescic w podanym zakresie in - wartosc musi byc identyczna z jedna sposrod podanych type - typ zmiennej (tj. string, boolean, double, integer) lub obiekt klasy własnej. Jeśli deklarujemy wlasny typ to jako type przekazujemy obiekt naszej klasy pamietajac ze musi ona zawietac metodę isValid(), oraz zmienna $errors oraz zmienna $value Wiecej w przykladzie dostepnm w paczce. Pobierz Czekam na komentarze oraz pomysły na rozwinięcie listy wymagań oraz ogólnie opcji validatora. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 662 Pomógł: 45 Dołączył: 26.03.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Bardzo fajne narzędzie, jak wiesz sam coś takiego piszę więc wiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ogólnie napiszę co wydaje mi się że mógł byś dodać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
1) Porządek w kodzie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) 2) W typie mogły by być wartości standardowe typu telefon, www, e-mail czy nawet ten pesel (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) 3) Jeśli sprawdzę wszystkie pola, a później której osobno to sprawdza od nowa. Mógłbyś gdzieś zapisywać czy pole jest poprawnie wypełnione czy nie aby nie sprawdzać po 2 razy. 4) Komunikaty błędów mogłeś zrobić nie jako wiadomości a jako identyfikatory danego błędu. Można później łatwiej na nich operować (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) To takie drobne uwagi spowodowane tym że sam pisze teraz taką bibliotekę, więc napisałem to co u siebie zrobiłem w inny sposób (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ale ogólnie klasa spoko i taki sposób walidacji naprawdę ułatwia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ps. Twoja klasa ma równo 100 linii mniej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ale ja u siebie każdą opcje dawałem jako osobną metodę, więc to dla tego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 29.09.2025 - 09:12 |