Méthode AddDataAnnotationsValidation rendue obsolète

La méthode d’extension EditContextDataAnnotationsExtensions.AddDataAnnotationsValidation(EditContext) est marquée comme obsolète à partir de ASP.NET Core 6. Les développeurs doivent utiliser la nouvelle méthode d’extension EditContextDataAnnotationsExtensions.EnableDataAnnotationsValidation à la place.

La seule différence entre ces deux API est leur valeur renvoyée :

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

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

Version introduite

ASP.NET Core 6.0

Ancien comportement

L’ancienne API, AddDataAnnotationsValidation(EditContext), retourne son EditContext (comme une sorte d’API Fluent).

Nouveau comportement

La nouvelle API, EnableDataAnnotationsValidation, retourne un IDisposable dont la suppression peut être utilisée pour supprimer le support de la validation des annotations de données du EditContext.

Raison du changement

Dans certains cas, il est souhaitable de supprimer la prise en charge de la validation des annotations de données après l’avoir ajoutée. Cela n’était pas possible avec l’ancienne API, car il n’y avait pas d’emplacement pour stocker les abonnements aux événements internes. La nouvelle API retourne un objet qui contient l’état nécessaire pour supprimer la prise en charge de la validation des annotations de données lors de la suppression.

La plupart des applications n’ont pas besoin d’être modifiées. L’utilisation directe de ces méthodes d’extension est un cas rare et avancé. Si votre application utilise le composant <DataAnnotationsValidator> au lieu d’appeler cette méthode directement, elle n’a pas besoin d’être modifiée.

Toutefois, si vous appelez editContext.AddDataAnnotationsValidation(), remplacez alors cet appel par editContext.EnableDataAnnotationsValidation(). Si vous le souhaitez, capturez le nouvel objet retourné IDisposable et supprimez-le ultérieurement si vous souhaitez annuler les effets de l’appel.

API affectées