El método AddDataAnnotationsValidation se ha establecido como obsoleto

El método de extensión EditContextDataAnnotationsExtensions.AddDataAnnotationsValidation(EditContext) se marca como obsoleto a partir de ASP.NET Core 6. En su lugar, los desarrolladores deben usar el nuevo método de extensión EditContextDataAnnotationsExtensions.EnableDataAnnotationsValidation.

La única diferencia entre estas dos API es el valor que devuelven:

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

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

Versión introducida

ASP.NET Core 6.0

Comportamiento anterior

La API anterior, AddDataAnnotationsValidation(EditContext), devuelve EditContext (como un tipo de API fluida).

Comportamiento nuevo

La API nueva, EnableDataAnnotationsValidation, devuelve una instancia de IDisposable cuya eliminación se puede usar para quitar la compatibilidad de validación de anotaciones de datos de EditContext.

Motivo del cambio

Hay casos en los que es aconsejable quitar la compatibilidad con la validación de anotaciones de datos después de agregarla. Esto no era posible con la API anterior porque no había ningún lugar para almacenar las suscripciones de eventos internos. La API nueva devuelve un objeto que contiene el estado necesario para quitar la compatibilidad con la validación de anotaciones de datos al realizar la eliminación.

No es necesario cambiar la mayoría de las aplicaciones. El uso directo de estos métodos de extensión es un caso poco frecuente y avanzado. Si en la aplicación se usa el componente <DataAnnotationsValidator> en lugar de llamar directamente a este método, no es necesario cambiarla.

Pero si llama a editContext.AddDataAnnotationsValidation(), reemplace esa llamada por editContext.EnableDataAnnotationsValidation(). Opcionalmente, capture el nuevo objeto IDisposable devuelto y elimínelo después si quiere deshacer los efectos de la llamada.

API afectadas