Przejdź do treści
Strona główna » Spring w Akcji 2.9

Spring w Akcji 2.9

Spis treści | Spring w Akcji

  1. Walidacja danych wejściowych formularza
  2. Java’s Bean Validation API

Walidacja danych wejściowych formularza

Co się stanie, jeśli użytkownik podczas projektowania nowej kreacji taco nie wybierze żadnych składników lub nie określi nazwy dla swojej kreacji? Co się stanie, jeśli podczas składania zamówienia nie wypełni wymaganych pól adresowych? Albo jeśli wpisze w pole karty kredytowej wartość, która nie jest nawet prawidłowym numerem karty kredytowej?
W obecnej sytuacji nic nie powstrzyma użytkownika przed stworzeniem taco bez żadnych składników lub z pustym adresem dostawy, a nawet przed wysłaniem tekstu do ich ulubioną piosenkę jako numer karty kredytowej. To dlatego, że nie określiłeś jeszcze jak te pola powinny być walidowane.
Jednym ze sposobów na przeprowadzenie walidacji formularza jest zaśmiecenie metod processDesign() i process- Order() mnóstwem bloków if/then, sprawdzających każde pole, aby upewnić się, że spełnia ono odpowiednie reguły walidacji. Ale to byłoby uciążliwe i trudne do odczytania i debugowania.

Java’s Bean Validation API

Na szczęście Spring obsługuje Java’s Bean Validation API (znany również jako JSR-303; https://jcp.org/en/jsr/detail?id=303). Dzięki temu łatwo jest zadeklarować reguły walidacji, w przeciwieństwie do jawnego pisania logiki deklaracji w kodzie aplikacji. W przypadku Spring Boot nie trzeba robić nic specjalnego, aby dodać biblioteki walidacji do projektu, ponieważ Validation API i implementacja Hibernate Valida- tion API są automatycznie dodawane do projektu jako przejściowe zależności web startera Spring Boot.

Aby zastosować walidację w Spring MVC, musisz:

  • adeklarować reguły walidacji na klasie, która ma być walidowana: konkretnie, klasa Taco.
  • Określić, że walidacja powinna być przeprowadzona w metodach kontrolera, które wymagają walidacji: konkretnie, metoda processDesign() klasy DesignTacoController oraz metoda processOrder() klasy OrderController.
  • Zmodyfikuj widoki formularzy, aby wyświetlały błędy walidacji.

Validation API oferuje kilka adnotacji, które mogą być umieszczone na właściwościach obiektów domeny w celu zadeklarowania reguł walidacji. Implementacja Valida- tion API przez Hibernate dodaje jeszcze więcej adnotacji dotyczących walidacji. Zobaczmy jak można zastosować kilka z tych adnotacji do sprawdzenia poprawności przesłanego Taco lub Zamówienia.

calculations

Pomocne linki

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *