Metoda AddDataAnnotationsValidation jest przestarzała
Metoda EditContextDataAnnotationsExtensions.AddDataAnnotationsValidation(EditContext) rozszerzenia jest oznaczona jako przestarzała, począwszy od ASP.NET Core 6. Deweloperzy powinni zamiast tego używać nowej metody EditContextDataAnnotationsExtensions.EnableDataAnnotationsValidation
rozszerzenia.
Jedyną różnicą między tymi dwoma interfejsami API jest ich wartość zwracana:
EditContext AddDataAnnotationsValidation(this EditContext editContext) { ... }
IDisposable EnableDataAnnotationsValidation(this EditContext editContext) { ... }
Wprowadzona wersja
ASP.NET Core 6.0
Stare zachowanie
Starszy interfejs API AddDataAnnotationsValidation(EditContext), , zwraca wartość EditContext
(jako rodzaj płynnego interfejsu API).
Nowe zachowanie
Nowy interfejs API , zwraca obiektIDisposable, EnableDataAnnotationsValidation
którego usuwanie może służyć do usuwania obsługi walidacji adnotacji danych z klasy EditContext
.
Przyczyna wprowadzenia zmiany
Istnieją przypadki, w których pożądane jest usunięcie obsługi walidacji adnotacji danych po dodaniu. Nie było to możliwe w przypadku starszego interfejsu API, ponieważ nie było miejsca do przechowywania wewnętrznych subskrypcji zdarzeń. Nowy interfejs API zwraca obiekt, który przechowuje stan niezbędny do usunięcia obsługi walidacji adnotacji danych po usunięciu.
Zalecana akcja
Większość aplikacji nie musi być zmieniana. Bezpośrednie zastosowanie tych metod rozszerzenia jest rzadkim i zaawansowanym przypadkiem. Jeśli aplikacja używa <DataAnnotationsValidator>
składnika zamiast bezpośredniego wywoływania tej metody, nie trzeba jej zmieniać.
Jeśli jednak wywołasz metodę editContext.AddDataAnnotationsValidation()
, zastąp to wywołanie .editContext.EnableDataAnnotationsValidation()
Opcjonalnie przechwyć nowy zwrócony IDisposable
obiekt i usunąć go później, jeśli chcesz cofnąć efekty wywołania.