ASP.NET Core - Personalizar o Model Binding
Hoje vamos apresentar bem rapidamente dois conceitos relacionados ao model binding na ASP .NET Core. |
As aplicações MVC e Web APis contém vários atributos que podem ser usados para direcionar seu comportamento de model binding padrão para outra fonte.
Por exemplo, você pode especificar se a vinculação é obrigatória para uma propriedade ou se ela nunca deve ocorrer usando os atributos [BindRequired] ou [BindNever].
Como alternativa, você pode substituir a fonte de dados padrão e especificar a fonte de dados do model binder. Veja abaixo uma lista dos atributos de model binding que podemos usar para sobrescrever o comportamento padrão:
Os atributos são ferramentas muito úteis quando você precisa substituir o comportamento padrão do model binding.
Os aspectos do comportamento do sistema podem ser configurados globalmente adicionando um provedor de detalhes a MvcOptions.ModelMetadataDetailsProviders.
O MVC tem alguns provedores de detalhes internos que permitem configurar o comportamento, como desabilitar a validação ou o model binding de determinados tipos.
Para desabilitar o model binding em todos os modelos de um determinado tipo, adicione uma chamada à classe ExcludeBindingMetadataProvider no método ConfigureServices da classe Startup.
Por exemplo, para desabilitar o model binding em todos os modelos do tipo System.Version:
services.AddMvc().AddMvcOptions(options => options.ModelMetadataDetailsProviders.Add( new ExcludeBindingMetadataProvider(typeof(System.Version)))); |
Para desabilitar a validação nas propriedades de um determinado tipo, adicione uma chamada à classe SuppressChildValidationMetadataProvider no método ConfigureServices da classe Startup.
Por exemplo, para desabilitar a validação nas propriedades do tipo System.Guid:
services.AddMvc().AddMvcOptions(options => options.ModelMetadataDetailsProviders.Add( new SuppressChildValidationMetadataProvider(typeof(System.Guid)))); |
Assim você pode desabilitar globalmente o model binding usando um critério.
E por hoje era isso...
Romanos 8:32
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
ASP .NET Core 2 - MiniCurso Básico - Macoratti
ASP .NET Core - Macoratti
Conceitos - .NET Framework versus .NET Core - Macoratti
ASP .NET Core - Conceitos Básicos - Macoratti.net
ASP .NET Core MVC - CRUD básico com ADO .NET - Macoratti
ASP .NET Core - Implementando a segurança com ... - Macoratti.net
ASP .NET Core - Apresentando Razor Pages - Macoratti
Minicurso ASP .NET Core 2.0 - Autenticação com JWT - I - Macoratti
Minicurso ASP .NET Core 2.0 - Autenticação com JWT - II - Macoratti.net