Asp.NET MVC - walidacja modelu poza kontrolerem
Buduję projekt ASP.NET MVC i wybieram następującą architekturę:
A Rdzeń projekt, który ma modele, walidację, dto, logikę itp.A ServiceStack API projekt, który działa jako mój REST APINaASP.NET MVC Web projekt, który jest interfejsem użytkownikaPowiedzmy, że chcę dodać użytkownika. Definiuję aNewUserInputModel
wRdzeń projekt. Podaję kilka adnotacji danych, takich jak[Required]
. Po wykonaniu tej czynnościSieć Projekt przeprowadzi walidację po stronie klienta na podstawie tych adnotacji.
Moje pytanie dotyczy sprawdzania poprawności po stronie serwera. Chcę sprawdzić poprawnośćNewUserInputModel
używając tych samych reguł, które są używane po stronie klienta, i chcę uruchomić tę walidacjęNewUserInputModel
pochodzi zAPI alboSieć projekt.
Zdaję sobie sprawę, że mogę zadzwonićModelState.IsValid
od kontrolera wSieć projekt - ale chcę to nazwać walidacją zRdzeń projekt, tak aby cała logika walidacji pozostałaRdzeń. W ten sposób, niezależnie od tego, jak ten model dotrze doRdzeń logika, zawsze nazywam tę samą walidację. Nie chcę przeciekaćSystem.Web
odniesienie do mojegoRdzeń projekt.
Czy to rozsądny projekt? Myślę, że tak jest - ale jeśli coś w tym pachnie, chętnie to usłyszę.
Z góry dziękuję za wszelką pomoc.