5. Walidacja - Podstawowe użycie
● Automatyczne przekierowanie na poprzednią stronę
● Zmienna $errors (IlluminateSupportMessageBag) przekazywana w
sesji do widoku
9. Walidacja - Zaawansowane użycie
● Wyciągnięcie logiki z controllera do osobnej klasy
● Większy porządek w kodzie
● Reużywalność
● Więcej opcji w porównaniu do standardowego
podejścia
11. Walidacja - Zaawansowane użycie
● Metoda authorize pozwala na określenie czy dany użytkownik może wykonywać operacje na danym Form
Requestcie
● Dostęp do zmiennych, które przekazujemy w ścieżce np. (Route::post('/comment/{comment}');
● Jeśli metoda authorize zwróci false, odpowiedź HTTP z kodem 403 zostanie automatyczna zwrócona a your
metoda controllera nie wykona się.
12. Walidacja - Zaawansowane użycie
● Funkcja rules() służy do zdefiniowania wszystkich reguł walidacji, które
mają zostać użyte w przypadku danego żądania
13. Walidacja - Zaawansowane użycie
● preapreForValidation() umożliwia modyfikację danej wartości przed
walidacją
20. Walidacja - Tłumaczenia i niestandardowe wiadomości
Każda z Laravelowych reguł walidacji posiada komunikat o błędzie, który
znajduje się w pliku resources/lang/en/validation.php
Komunikaty mogą być dowolnie modyfikowane dla danego języka poprzez
skopiowanie pliku do katalogu odpowiadającemu danemu językowi i
modyfikację jego zawartości
(np. resources/lang/pl/validation.php)
22. Walidacja - Tłumaczenia i niestandardowe wiadomości
● Niestandardowa wiadomość dla konkretnego pola
● Możliwość definiowania niestandardowych wiadomości dla
wielu różnych zasad
23. Walidacja - Tłumaczenia i niestandardowe wiadomości
● Wiadomości walidacji czasami używają argumentu :attribute, który jest nazwą
walidowanego pola
● Istnieje możliwość zmiany nazwy walidowanego pola
The email field is required. -> The email address field is required
24. Walidacja - Tłumaczenia i niestandardowe wiadomości
● Wiadomości walidacji czasami używają argumentu :value, który jest wartością
walidowanego pola
● Istnieje możliwość zmiany nazwy wartości walidowanego pola
The credit card number field is required when payment type is cc.
-> The credit card number field is required when payment type is credit
25. Walidacja - Tłumaczenia i niestandardowe wiadomości
● W przypadku tworzenia własnego walidatora, istnieje możliwość zdefiniowania
customowych wiadomości “w locie”
27. Walidacja - Własne reguły
● Funkcja passes() zawiera nazwę i wartość atrybutu - tu
znajduje się logika walidacji
● Funkcja message() - zwraca wiadomość w przypadku
nieprawidłowej walidacji, może być dowolnie
tłumaczona
28. Walidacja - Własne reguły
● Dynamiczne reguły walidacji mogą być dowolnie tworzone za pomocą funkcji
anonimowych
● $fail - callback wywoływany w przypadku niespełnienia warunków walidacji