AsyncValidationAttribute.GetValidationResultAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
測試給定 value 值是否相對於目前驗證屬性非同步有效,且不會拋 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)
參數
- value
- Object
要驗證的值。
- validationContext
- ValidationContext
提供 ValidationContext 驗證操作上下文的實例,例如被驗證的物件與成員。 提供使用驗證所需的 IServiceProvider服務存取。
- cancellationToken
- CancellationToken
A CancellationToken 在等待任務完成時觀察。
傳回
A Task<TResult> 代表非同步驗證操作。
當驗證有效時,結果為 Success。
當驗證無效時,結果是 的 ValidationResult一個實例。
例外狀況
目前的屬性是畸形的。
當 validationContext 是 null。
驗證作業被取消。
備註
底層 IsValidAsync(Object, ValidationContext, CancellationToken) 實作必須觀察所提供 cancellationToken 內容,並在要求取消時立即停止工作。 驗證基礎設施會等待所有已啟動的驗證任務才返回,因此忽略取消的實作可以延遲失敗與短路。
需要限制驗證時間的呼叫者,應傳遞設定為逾時後取消的令牌,例如設定 CancellationTokenSource 為 CancelAfter(TimeSpan)的 。