Lingua

AsyncValidationAttribute.IsValidAsync Metodo

Definizione

Eseguire l'override di questo metodo nelle sottoclassi per implementare la logica di convalida asincrona.

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)

Parametri

value
Object

Valore da convalidare.

validationContext
ValidationContext

ValidationContext Istanza di che fornisce contesto sull'operazione di convalida, ad esempio l'oggetto e il membro da convalidare. Fornisce l'accesso ai servizi necessari per eseguire la convalida tramite IServiceProvider.

cancellationToken
CancellationToken

Oggetto CancellationToken da osservare durante l'attesa del completamento dell'attività.

Valori restituiti

Oggetto Task<TResult> che rappresenta l'operazione di convalida asincrona.

Quando la convalida è valida, il risultato è Success.

Se la convalida non è valida, il risultato è un'istanza di ValidationResult.

Commenti

Questo metodo deve eseguire tutti i controlli applicabili, inclusi i controlli che possono essere eseguiti in modo sincrono. L'implementazione sincrona IsValid(Object, ValidationContext) non viene richiamata automaticamente prima di questo metodo. Condividere controlli comuni tramite un helper quando necessario.

Le implementazioni devono osservare il lavoro fornito cancellationToken e arrestarlo tempestivamente quando viene richiesto l'annullamento. L'infrastruttura di convalida potrebbe annullare questo token dopo un errore di convalida per arrestare i validator di pari livello e attende tutte le attività di convalida avviate prima della restituzione. Un'implementazione che ignora l'annullamento può ritardare l'errore e il corto circuito.

Si applica a