Pergunta

Ao ler no ASP.NET MVC, encontrei alguns exemplos maravilhosos de validação em que as regras de negócios estavam associadas ao modelo e a interface do usuário apenas exibia o conjunto de erros e sinalizou os elementos do formulário associados à entrada inválida. Eu acho que faz sentido fantástico manter essa lógica em um único local, em vez de todos os formulários executarem sua própria validação única.

É possível alcançar essa separação de maneira elegante com um projeto de aplicativo da Web ASP.NET (WebForms)? Posso manter as regras de validação na camada lógica de negócios e posso ter métodos que executam validação e retornem um conjunto de erros. Mas não consigo descobrir uma boa maneira de sinalizar controles problemáticos no lado da interface do usuário.

No MVC, os elementos e o modelo do formulário estão implicitamente vinculados pelos nomes de propriedades. A interface do usuário no ASP.NET deve referir os nomes de propriedades exclusivos do modelo (como id/nome ou como um atributo personalizado)? A interface do usuário deve ter acesso a um mapeamento gerado manualmente dos nomes de controle para os nomes de propriedades?

Foi útil?

Solução

Uma maneira de fazer isso é criar validadores personalizados, com destino a controlar na tela e eu chamo minhas validações de BL no evento OnserverValidate. Dessa forma, minha lógica de validação permanece em um só lugar.

Espero que ajude

Outras dicas

Tenho certeza de que me lembro de ouvir alguns onde algumas melhorias em torno das anotações de dados estariam disponíveis para WebForms no .NET 4.0, mas depois de tentar procurá -lo on -line, estou começando a pensar que sonhei.

Embora eu tenha encontrado este post de um cara que 'rolou o seu':

http://adventuresdotnet.blogspot.com/2009/08/aspnet-webforms-validation-with-data.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top