Поделиться через


Метод AddDataAnnotationsValidation теперь считается устаревшим

Начиная с версии ASP.NET Core 6, метод расширения EditContextDataAnnotationsExtensions.AddDataAnnotationsValidation(EditContext) помечен как устаревший. Вместо этого разработчикам следует использовать новый метод расширения EditContextDataAnnotationsExtensions.EnableDataAnnotationsValidation.

Единственное различие между этими двумя API — это возвращаемое ими значение:

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

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

Представленные версии

ASP.NET Core 6.0

Старое поведение

Предыдущий API AddDataAnnotationsValidation(EditContext) возвращает свой EditContext (наподобие текучего API).

Новое поведение

Новый API EnableDataAnnotationsValidation возвращает ресурс IDisposable, освобождение которого позволяет удалить поддержку проверки аннотаций данных из EditContext.

Причина изменения

Существуют случаи, когда желательно удалить поддержку проверки аннотаций данных после ее добавления. В предыдущем API это было невозможно, так как негде было хранить внутренние подписки на события. Новый API возвращает объект, который содержит состояние, необходимое для удаления поддержки проверки аннотаций данных при освобождении объекта.

Большинство приложений не требует изменений. Непосредственное использование этих методов расширения — это редкий и сложный случай. Если приложение не вызывает этот метод напрямую, а использует компонент <DataAnnotationsValidator>, изменять это приложение не требуется.

Однако в случае вызова метода editContext.AddDataAnnotationsValidation() нужно заменить этот вызов на editContext.EnableDataAnnotationsValidation(). При необходимости для устранения эффектов вызова можно зафиксировать новый возвращаемый объект IDisposable и освободить его позже.

Затронутые API