Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [laravel] Validacja danych
Koldy
post
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 1
Dołączył: 28.06.2009
Skąd: Great Britan

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


Witajcie,

chwile juz temu zaczalem pisac w laraverze, silnik bardzo mi sie spodobal i mysle ze komfort pracy jest wszystkim czego potrzebuje programista, wiec na razie nie zamierzam uciekac sie do innych opcji.

Mam pewien dylemat, bo problem to raczej nie jest.

Mianowicie, wiadomo ze validacje robimy w Laraverze tak:
  1. $validator = Validator::make($input, [
  2. 'email' => 'required|email',
  3. 'password' => 'required'
  4. ]);


ew. jeszcze messages jako 3 argument, ale ja mam ustawione custom messages w pliku jezykowym, co jest znacznie lepszym rozwiazaniem.

Chodzi o to, ze kod validacji np usera sie powtarza, nie zawsze wszystkie jego pola, ale zawsze cos sie powtarza, wiec wpadlem na pomysl zeby umiescic reguly w modelu, do ktorego walidacja nastepuje. np:
  1. public static $rules = [
  2. 'email' => 'required|max:50|email|unique:users',
  3. 'username' => 'sometimes|required|max:20|min:3|unique:users',
  4. 'password' => 'required|min:6',
  5. 'password2' => 'sometimes|required|same:password'
  6. ];

dodatkowo w modelu dodaje triata z metoda
  1. public static function validate($input) {
  2. return \Validator::make($input, (isset(self::$rules)) ? self::$rules : []);
  3. }


Wiec kod w konrolerze wyglada mniej wiecej tak:
  1. $input = Input::only('email', 'username', 'password', 'password2');
  2. $validator = User::validate($input);


Dzieki temu, sprawdzane sa tylko te wartosci ktore zostaly przekazane, z racji reguly 'sometimes', wszystko dziala ok, ale doszedlem do wniosku, ze po pierwsze lece na statykach, a dwa validacja nie koniecznie jest czescia modelu, wiec wymyslilem rozwiazanie zeby stworzyc osobna klase, ktora wepcham do serwisow, w wdziecznej nazwie Validator, a jej uzycie w kontrolerze bylo by mniej wiecej takie:
  1. $validator = Validator::user($input);


Cala validacja byla by zamknieta w klacie Validator i nie opieralaby sie na statykach, jednoczesnie mamy cala validacje aplikacji w jednym miejscu.

Pytanie wiec do expertow, czy dobrze kombinuje, czy moze lepiej zostawic to w modelu jak zrobilem na poczatku, a moze jeszcze macie jakies inne magiczne rozwiazanie?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Koldy
post
Post #2





Grupa: Zarejestrowani
Postów: 98
Pomógł: 1
Dołączył: 28.06.2009
Skąd: Great Britan

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


Nie do konca spasowala mi jego metoda (mowie o tym advanced, bo ten pierwszy to w ogole slabo), wiec troche zmanipuluje to co on tam daje i minimalnie zrobie po swojemu, ale naprowadzilo mnie to do celu, takze dzieki, dodatkowo kolejny blog do rss'a (IMG:style_emoticons/default/smile.gif)

Lap plusa, jeszcze raz dzieki
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 - 12:46