Jazyk

AsyncValidationAttribute.IsValidAsync Metoda

Definice

Tuto metodu přepište v podtřídách, aby se implementovala asynchronní logika ověřování.

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

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.

Poznámky

Tato metoda musí provádět všechny příslušné kontroly, včetně kontrol, které lze spustit synchronně. Synchronní IsValid(Object, ValidationContext) implementace není automaticky vyvolána před touto metodou. V případě potřeby sdílejte běžné kontroly pomocí pomocné rutiny.

Implementace musí při požadavku na zrušení okamžitě sledovat zadané cancellationToken a zastavit práci. Ověřovací infrastruktura může tento token zrušit poté, co se nepodařilo zastavit validátory na stejné straně a před vrácením čeká na všechny spuštěné ověřovací úlohy. Implementace, která ignoruje zrušení, může zpozdit selhání a zkratování.

Platí pro