AsyncValidationAttribute.GetValidationResultAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Sprawdza, czy dana wartość value jest prawidłowa asynchronicznie w odniesieniu do bieżącego atrybutu weryfikacji bez zgłaszania ValidationExceptionelementu .
public System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult?> GetValidationResultAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken = default);
member this.GetValidationResultAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult>
Public Function GetValidationResultAsync (value As Object, validationContext As ValidationContext, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ValidationResult)
Parametry
- value
- Object
Wartość do zweryfikowania.
- validationContext
- ValidationContext
ValidationContext Wystąpienie, które zawiera kontekst operacji weryfikacji, takie jak obiekt i element członkowski, który jest weryfikowany. Zapewnia dostęp do usług wymaganych do przeprowadzenia walidacji przy użyciu polecenia IServiceProvider.
- cancellationToken
- CancellationToken
Element do CancellationToken obserwowania podczas oczekiwania na ukończenie zadania.
Zwraca
Reprezentująca Task<TResult> operację asynchronicznej weryfikacji.
Gdy walidacja jest prawidłowa, wynik to Success.
Gdy walidacja jest nieprawidłowa, wynikiem jest wystąpienie klasy ValidationResult.
Wyjątki
Bieżący atrybut jest źle sformułowany.
Gdy validationContext ma wartość null.
Operacja walidacji została anulowana.
Uwagi
IsValidAsync(Object, ValidationContext, CancellationToken) Podstawowa implementacja musi obserwować podaną cancellationToken i zatrzymać pracę natychmiast po zażądaniu anulowania. Infrastruktura walidacji oczekuje na wszystkie uruchomione zadania weryfikacji przed zwróceniem, więc implementacja, która ignoruje anulowanie, może opóźnić awarię i zwarcie.
Osoby wywołujące, które muszą powiązać czas weryfikacji, powinny przekazać token skonfigurowany do anulowania po przekroczeniu limitu czasu, na przykład jeden ze skonfigurowanych CancellationTokenSource za pomocą CancelAfter(TimeSpan)polecenia .