AsyncValidationAttribute.IsValidAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在子類別中覆寫此方法以實作非同步驗證邏輯。
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 內容,並在被要求取消時立即停止工作。 驗證基礎設施可能會在驗證失敗後取消此令牌以停止兄弟驗證者,並等待所有已啟動的驗證任務後再返回。 忽略取消的實作可以延遲故障與短路。