Język

AsyncValidationAttribute.IsValidAsync Metoda

Definicja

Zastąpij tę metodę w podklasach, aby zaimplementować logikę walidacji asynchronicznej.

protected:
 abstract System::Threading::Tasks::Task<System::ComponentModel::DataAnnotations::ValidationResult ^> ^ IsValidAsync(System::Object ^ value, System::ComponentModel::DataAnnotations::ValidationContext ^ validationContext, System::Threading::CancellationToken cancellationToken);
protected abstract System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult?> IsValidAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken);
abstract member IsValidAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult>
Protected MustOverride Function IsValidAsync (value As Object, validationContext As ValidationContext, cancellationToken As CancellationToken) 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.

Uwagi

Ta metoda musi wykonać wszystkie odpowiednie kontrole, w tym kontrole, które mogą być uruchamiane synchronicznie. Implementacja synchroniczna IsValid(Object, ValidationContext) nie jest wywoływana automatycznie przed tą metodą. Udostępnianie typowych kontroli za pośrednictwem pomocnika w razie potrzeby.

Implementacje muszą obserwować podaną cancellationToken i zatrzymać pracę natychmiast po żądaniu anulowania. Infrastruktura walidacji może anulować ten token po niepowodzeniu walidacji zatrzymania modułów sprawdzania poprawności elementów równorzędnych i oczekuje na wszystkie uruchomione zadania weryfikacji przed zwróceniem. Implementacja, która ignoruje anulowanie, może opóźnić awarię i zwarcie.

Dotyczy