Asp.net MVC - Valide um modelo fora do controlador
Eu estou construindo um projeto ASP.NET MVC e indo para a seguinte arquitetura:
A Testemunho projeto que possui modelos, validação, dto, lógica, etc.A API ServiceStack projeto que atua como minha API RESTAWeb da ASP.NET MVC projeto que é a interface do usuárioEntão, digamos que eu queira adicionar um usuário. Eu defino umNewUserInputModel
noTestemunho projeto. Eu dou algumas anotações de dados como[Required]
. Depois de fazer isso, oRede O projeto executará a validação do lado do cliente com base nessas anotações.
Minha pergunta é sobre a validação do lado do servidor. Eu quero validar oNewUserInputModel
usando as mesmas regras que estão sendo usadas no lado do cliente, e eu quero executar essa validaçãoNewUserInputModel
vem doAPI ou oRede projeto.
Eu percebo que eu poderia ligarModelState.IsValid
de um controlador noRede projeto - mas eu quero chamar essa validação doTestemunho projeto de modo que toda a lógica de validação vive emTestemunho. Desta forma, não importa como este modelo chegue aoTestemunho lógica, eu sempre chamo a mesma validação. Eu não quero vazar umSystem.Web
referência no meuTestemunho projeto.
Isso é um design razoável? Eu acho que é - mas se algo cheirar, eu ficaria feliz em ouvir isso.
Agradecemos antecipadamente por qualquer ajuda.