Inspiracja , wiedza , realizacja
Jsystems

W przebudowie

Login



Java

Oracle

Linux

Android

PostgreSQL

Microsoft SQL Server

Walidacja formularzy

Data dodania: Jun 27, 2016
Data aktualizacji: Jun 27, 2016

Kod źródłowy aplikacji którą tworzę w niniejszym kursie jest do pobrania z adresu:

http://www.jsystems.pl/storage/spring/springform2.zip


W tym rozdziale przerobimy nieco poprzedni przykład. Klasę modelową "Samochód" wzbogacamy o kilka dodatkowych adnotacji. @Min – określa minimalną długość wprowadzanego do tego pola ciągu tekstowego. @Size pozwala określić jego długość od-do. W obu przypadkach parametr "message" pozwala określić wiadomość która zostanie wyświetlona na formularzu w przypadku nie przejścia walidacji dla danego pola. Jeśli nie określisz własnego komunikatu, zostanie wyświetlony domyślny szablonowy od Springa.




Metodę obsługującą żądanie POST w kontrolerze uzupełniam o adnotację @Valid, oraz dodatkowy parametr. @Valid oznacza, że obiekt "samochod" zostanie przesłany z formularza dopiero po pomyślnej walidacji danych. Obiekt klasy BindingResult pozwala nam wyciągnąć konkretne błędy

które się pojawiają. Nie wykorzystuję tutaj jego możliwości.




Przejdźmy do pliku JSP formularza:




Nowa rzecz która się tutaj pojawia to znacznik:


<form:errors path="marka"/>


Określa on, że w tym miejscu mają zostać wyświetlone ewentualne błędy związane z danym polem – i tak dla każdego pola :)


Inne przykładowe adnotacje do walidacji:


@Max – określa maksymalną długość ciągu

@NotNull – określa że pole nie może pozostawać puste

@Pattern – pozwala walidować z użyciem wyrażeń regularnych

@NotEmpty – nie pusty ciąg (z hibernate)


Sposób działania walidacji po próbie zatwierdzenia nie poprawnie wypełnionego formularza: