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
タスクの完了を待機している間に観察する CancellationToken 。
返品
非同期検証操作を表す Task<TResult> 。
検証が有効な場合、結果は Success。
検証が無効な場合、結果は ValidationResultのインスタンスになります。
例外
現在の属性の形式が正しくありません。
validationContextがnullされたとき。
検証操作が取り消されました。
注釈
基になる IsValidAsync(Object, ValidationContext, CancellationToken) 実装では、指定された cancellationToken を確認し、取り消しが要求されたときにすぐに作業を停止する必要があります。 検証インフラストラクチャは、戻る前に開始されたすべての検証タスクを待機するため、取り消しを無視する実装では、エラーとショートサーキットが遅延する可能性があります。
検証時間をバインドする必要がある呼び出し元は、タイムアウト後にキャンセルするように構成されたトークン (CancelAfter(TimeSpan)で構成されたCancellationTokenSourceからのトークンなど) を渡す必要があります。