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


ok bede poprawiać. Chciałbym aby ta klasa była napisana raz a porządnie, abym mógł z niej korzystać w każdym moim projekcie.

dla mnie najistotniejszym elementem jest samo wywołanie validacji. chciałbym aby było to jak najprostrze i intuicyjne do wykonania.

co w takim razie proponujesz ?

chodzi mi o samo to jak mam najlepiej jest wywołać walidajcje, np:

$val-> addValue(['imie' => $_POST['imie']]) -> addRules('req,min=3,max=20,login');

albo

$val-> addValue(['imie' => $_POST['imie']]) -> _required() -> max(6);

albo

$val-> addValue([
'imie' => $_POST['imie'],
'login' => $_POST['login']
])
-> _required() -> max(6);

$val-> addKey(phone') addValue($_POST['imie']) -> _isInt();

albo

$val-> addKey('imie') addValue($_POST['imie']) -> _required() -> max(6);

itd itp

Kombinacji moze być wiele, dostosować klase tez nie jest trudno, chodzi mi tylko o to jaki z tych wywołań będzie najbardziej praktyczny i wygodny. Ogólnie od samego początku widzi mi się aby każda wartość do sprawdzenia była zapisana tylko w jednej linijce - nawet jesli kazda wartosc do sprawdzenia w nowej linijce bedzie musia miec np powielony walidator required. Nie chce robić bardaku w kodzie a takie rozwiązanie uważam, że jest bardzo wygodne. Od razu widać co się dzieje.


EDIT:

przemyślałem to i uważam, ze:

$val -> new Validation();
$val -> addKey('imie') -> addValue($_POST['imie']) -> required() -> max(5) -> min(10);
$val -> addKey('login') -> addValue($_POST['login']) -> required() -> max(5) -> min(10);
itd
if(empty($val->errors)) {echo 'ok';}

bedzie najlepszym rozwiązaniem


EDIT:2

przerobiłem. Szybko mi to poszlo : )

https://gist.github.com/gitbejbe/6762020

oczywiście pięknie działa

Ten post edytował gitbejbe 19.10.2013, 14:01:00
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: 10.10.2025 - 10:11