Språk

AsyncValidationAttribute.GetValidationResultAsync Metod

Definition

Testar om angiven value är giltig asynkront med avseende på det aktuella valideringsattributet utan att utlösa en ValidationException.

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)

Parametrar

value
Object

Värdet som ska verifieras.

validationContext
ValidationContext

En ValidationContext instans som ger kontext om valideringsåtgärden, till exempel objektet och medlemmen som verifieras. Ger åtkomst till tjänster som krävs för att utföra verifiering med hjälp av IServiceProvider.

cancellationToken
CancellationToken

A CancellationToken att observera i väntan på att uppgiften ska slutföras.

Returer

En Task<TResult> som representerar den asynkrona valideringsåtgärden.

När valideringen är giltig blir Successresultatet .

När valideringen är ogiltig blir resultatet en instans av ValidationResult.

Undantag

Det aktuella attributet är felaktigt.

När validationContext är null.

Valideringsåtgärden avbröts.

Kommentarer

Den underliggande IsValidAsync(Object, ValidationContext, CancellationToken) implementeringen måste observera det angivna cancellationToken och stoppa arbetet omgående när annullering begärs. Valideringsinfrastrukturen väntar på alla påbörjade valideringsuppgifter innan de returneras, så en implementering som ignorerar annullering kan fördröja fel och kortslutning.

Uppringare som behöver bunden valideringstid bör skicka en token som konfigurerats för att avbryta efter en timeout, till exempel en från en CancellationTokenSource konfigurerad med CancelAfter(TimeSpan).

Gäller för