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żytkownika

Powiedzmy, ż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.

questionAnswers(4)

yourAnswerToTheQuestion