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%)
-----




dobra, zakutalizowalem klase : )

link : GITGUB

Ogólnie prosze o rzucenie okiem. to moja pierwszy skrypt w oop. Działa pieknie i jest - przynajmniej dla mnie, mocno wygodny : ) Wydaje mi sie ze jest ok, ale wasze oczy moze wyłapią błedy ktore powinienem omijać

w czym lezy wygoda ? Skrypt bardzo latwo mozna rozszerzać o nowe walidatory (może zrobic to nawet laik) oraz sam proces wywołania validacji również jest łatwy i przyjazny:

  1. //pzyklad
  2. $val = new Validation();
  3. $val -> addValue([
  4. "imie" => $_POST['imie'],
  5. "login" => $_POST['login']
  6. ]);
  7.  
  8. $val -> addKey('imie') -> addRules('req,min=3,max=20,login');
  9. $val -> addKey('login') -> addRules('url');
  10. //itd itp
  11.  
  12. $val -> startValidation();
  13.  
  14.  
  15. //wyswietlanie wartosci
  16. $val->getValue('imie')
  17.  
  18. //wyswietlanie bledow
  19. $val->getErrors('email')
  20.  


DODANIE NOWEGO WALIDATORA
  1. //KROK1
  2.  
  3. //lista walidatorow w klasie abstrakcyjnej Validation_engine.
  4. //nalezy dopisac nowy element tablicy, gdzie klucz to nasza wygodna nazwa walidatora, a wartosc to nazwa metody walidującej
  5.  
  6. protected static $rules_list = array(
  7. "REQUIRED, REQ" => "_required",
  8. "MINIMUM, MIN" => "_minimum",
  9. "MAXIMUM, MAX" => "_maximum",
  10. "STRIPTAGS, STRIP" => "_striptags",
  11. "HTML" => "_htmlspecialchars",
  12. "IS_INT, INT" => "_is_int",
  13. "LOGIN" => "_login",
  14. "URL" => "_url"
  15. );
  16.  
  17. //KROK2
  18.  
  19. dodanie do klasy z walidatorami (class Validation) nowej metody, np:
  20. class Validation extends Validation_engine
  21. {
  22. protected function _required()
  23. {
  24. if(empty($this->value)) { $this->errors[$this->key] = 'te pole musi być uzupełnione'; }
  25. }
  26. }
  27.  
  28. //KONIEC : )


Ten post edytował gitbejbe 17.10.2013, 08:27:03
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 09:43