Jazyk

AsyncValidationAttribute.GetValidationResultAsync Metoda

Definice

Testuje, zda dané value je platné asynchronně s ohledem na aktuální ověřovací atribut bez vyvolání 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)

Parametry

value
Object

Hodnota, která se má ověřit.

validationContext
ValidationContext

Instance ValidationContext , která poskytuje kontext o ověřovací operaci, jako je například objekt a člen, který se ověřuje. Poskytuje přístup ke službám potřebným k ověření pomocí IServiceProvider.

cancellationToken
CancellationToken

A CancellationToken , která se má sledovat při čekání na dokončení úkolu.

Návraty

A Task<TResult> představující asynchronní ověřovací operaci.

Pokud je ověření platné, výsledek je Success.

Pokud je ověření neplatné, výsledkem je instance ValidationResult.

Výjimky

Aktuální atribut je poškozený.

Kdy validationContext je null.

Operace ověření byla zrušena.

Poznámky

IsValidAsync(Object, ValidationContext, CancellationToken) Základní implementace musí při vyžádání zrušení okamžitě sledovat zadané cancellationToken a zastavit práci. Ověřovací infrastruktura před vrácením očekává všechny spuštěné úlohy ověření, takže implementace, která ignoruje zrušení, může zpozdit selhání a zkratování.

Volající, kteří potřebují vázat čas ověření, by měli předat token nakonfigurovaný tak, aby se zrušil po vypršení časového limitu, například jeden z nakonfigurovaných CancellationTokenSourceCancelAfter(TimeSpan).

Platí pro