Compartilhar via


O método AddDataAnnotationsValidation ficou obsoleto

O método EditContextDataAnnotationsExtensions.AddDataAnnotationsValidation(EditContext) de extensão é marcado como obsoleto a partir do ASP.NET Core 6. Em vez disso, os desenvolvedores devem usar o novo método EditContextDataAnnotationsExtensions.EnableDataAnnotationsValidation de extensão.

A única diferença entre essas duas APIs é o valor retornado:

EditContext AddDataAnnotationsValidation(this EditContext editContext) { ... }

IDisposable EnableDataAnnotationsValidation(this EditContext editContext) { ... }

Versão introduzida

ASP.NET Core 6.0

Comportamento antigo

A API mais antiga, AddDataAnnotationsValidation(EditContext), retorna EditContext (como uma API fluente).

Novo comportamento

A nova API, EnableDataAnnotationsValidation, retorna um IDisposable cujo descarte pode ser usado para remover o suporte à validação de anotações de dados do EditContext.

Motivo da alteração

Há casos em que é desejável remover o suporte à validação de anotações de dados depois de adicioná-lo. Isso não foi possível com a API mais antiga porque não havia lugar para armazenar as assinaturas de evento internas. A nova API retorna um objeto que contém o estado necessário para remover o suporte à validação de anotações de dados no descarte.

A maioria dos aplicativos não precisa ser alterada. O uso direto desses métodos de extensão é um caso raro e avançado. Se o aplicativo usar o <DataAnnotationsValidator> componente em vez de chamar esse método diretamente, ele não precisará ser alterado.

No entanto, se você fizer uma ligação editContext.AddDataAnnotationsValidation(), substitua essa ligação por editContext.EnableDataAnnotationsValidation(). Opcionalmente, capture o novo objeto retornado IDisposable e descarte-o mais tarde se você quiser desfazer os efeitos da chamada.

APIs afetadas