2013-12-13 14 views
7

Mam aplikację WWW Java Server Faces i nie jestem pewien, jak sobie z nią poradzić.Twarze serwera Java: sprawdzanie poprawności tylko w warstwie logiki biznesowej

Moim zdaniem walidacja powinna zostać przeprowadzona w warstwie logiki biznesowej. Warstwa logiki biznesowej jest używana w prezentacji internetowej (jsf) i REST-API.

W tej chwili robię również sprawdzanie poprawności w warstwie jsf z dostarczonymi weryfikatorami. Myślę, że w większości przypadków jest to tylko powielanie kodu. Czy istnieje sposób na uniknięcie tego powielania kodu? Czy serwer Java może używać wyjątków sprawdzania poprawności, które umieszczam w warstwie logiki biznesowej?

Odpowiedz

5

Weryfikacja fasoli została wymyślona dokładnie w tym przypadku.

Adnotujesz swoje jednostki z ograniczeniami, a ograniczenia te będą respektowane zarówno przez logikę biznesową (przez EJB, CDI i/lub JPA), jak i przez JSF.

Za niewielką liczbę poprawności, których nie można wyrazić za pomocą sprawdzania poprawności fasoli, ale które są prawdziwie powiązane z biznesem; tak, wyrzuć wyjątek, złap go w swój komponent bean i ustaw odpowiadający mu komunikat "twarze" (podpowiedź: użyj OmniFaces' Messages, aby ułatwić to). Podobnie dla niewielkiej liczby sprawdzeń, których nie można wyrazić za pomocą funkcji sprawdzania poprawności fasoli i które są silnie zorientowane na widok; użyj natywnych weryfikatorów JSF.

Powiązane problemy