語言

AsyncValidationAttribute.IsValidAsync 方法

定義

在子類別中覆寫此方法以實作非同步驗證邏輯。

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)

參數

value
Object

要驗證的值。

validationContext
ValidationContext

提供 ValidationContext 驗證操作上下文的實例,例如被驗證的物件與成員。 提供使用驗證所需的 IServiceProvider服務存取。

cancellationToken
CancellationToken

A CancellationToken 在等待任務完成時觀察。

傳回

A Task<TResult> 代表非同步驗證操作。

當驗證有效時,結果為 Success。

當驗證無效時,結果是 的 ValidationResult一個實例。

備註

此方法必須執行所有適用的檢查,包括可同步執行的檢查。 IsValid(Object, ValidationContext)在此方法之前,同步實作不會自動被呼叫。 需要時透過幫手分享共同的支票。

實施單位必須遵守所提供 cancellationToken 內容,並在被要求取消時立即停止工作。 驗證基礎設施可能會在驗證失敗後取消此令牌以停止兄弟驗證者,並等待所有已啟動的驗證任務後再返回。 忽略取消的實作可以延遲故障與短路。

適用於