Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]klasa walidacji
gitbejbe
post
Post #1





Grupa: Zarejestrowani
Postów: 516
Pomógł: 63
Dołączył: 27.08.2012

Ostrzeżenie: (0%)
-----


Witam

Nie wiedziałem czy wrzucać to do oceny, bo w sumie bardziej chodzi o to aby ktoś powierzchownie rzucił okiem, czy ide w dobrym kierunku. To moja pierwsza klasa - bazowa, bo chciałbym na niej m.in oprzec pozostałe klasy.

starałem sie uprościć ją do minimum, link do Github'a

jak widać dodanie nowej wartości do walidacji odbywa się w ten sposób:
  1. $validation = new Validation();
  2.  
  3. $validation -> addKey('imie') -> addValue($_POST['imie']) -> addRules('req,min=3,max=10');
  4. $validation -> addKey('login') -> addValue($_POST['login']) -> addRules('req,min=10');
  5. $validation -> addKey('haslo') -> addValue($_POST['haslo']) -> addRules('req,login,min=3,max=10,url,striptags,html,int,'); //itd itp
  6. ...
  7. $validation -> startValidation();


sprawdzenie czy wszystkie pola przeszły poprawną walidacje wywołuje sie poprzez warunek if(!$validation->errors)
odwołanie się do tablicy błędu, np : $validation->errors['imie'] <- bledy beda wyswietlane po kolei począwszy od pierwszej zadeklarowanej wartości do sprawdzenia

błędów nie ma, wszystko działa, ale jak juz wspomniałem, to moja pierwsza samodzielnie napisana klasa, tak więc chciałbym was prosić o to, abyście mogli podpowiedzieć mi czy robie jakieś błędy lub czego mógłbym jeszcze użyć do niezawodności tej klasy

Ten post edytował gitbejbe 30.09.2013, 12:30:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
gitbejbe
post
Post #2





Grupa: Zarejestrowani
Postów: 516
Pomógł: 63
Dołączył: 27.08.2012

Ostrzeżenie: (0%)
-----


Cytat
Czy nie lepiej wygląda to jak dla zestawu pól ("kay") dodajesz walidatory?

Myslałem o takim rozwiązaniu na samym poczatku. Przez konstruktor klasy Validation wskazywałbym tablicę (superglobalną $_POST / $_GET, albo bym sam wypisywał tablicę dla interesujacych mnie wartośći do sprawdzenia).

Cytat
Każdy walidator ma osobną klasę, dziedziczy po klasie abstrakcyjnej i ma metody do ustawienia wartości i do walidacji

tego za bardzo nie rozumiem... Nie byłoby to za dużo (może nawet zbędnej) roboty ? w sumie to tą klase mozna byłoby w ten sposób przerobić, czyli byłaby to poprostu zamiana "case'ów" na klasy. Ale czy to faktycznie byłoby lepsze ? Rozumiem, ze zyskałbym poprostu łatwiejszą modyfikowalność obsługi błędów ?

@nospor
mam z tym czasem problem, a akurat te słówko bardzo łatwo mi sie myli i nie raz bez namysłku przekracam tą literke. Z pewnością poprawie : )
edit: POPRAWIONE : )

Ten post edytował gitbejbe 30.09.2013, 12:29:57
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.10.2025 - 07:35