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
タスクの完了を待機している間に観察する CancellationToken 。
返品
非同期検証操作を表す Task<TResult> 。
検証が有効な場合、結果は Success。
検証が無効な場合、結果は ValidationResultのインスタンスになります。
注釈
このメソッドは、同期的に実行できるチェックを含め、適用可能なすべてのチェックを実行する必要があります。 同期 IsValid(Object, ValidationContext) 実装は、このメソッドの前に自動的に呼び出されません。 必要に応じて、ヘルパーを介して共通のチェックを共有します。
実装では、指定された cancellationToken を監視し、取り消しが要求されたときにすぐに作業を停止する必要があります。 検証インフラストラクチャは、兄弟検証コントロールを停止する検証エラーの後にこのトークンを取り消し、開始されたすべての検証タスクを待機してから戻ることがあります。 取り消しを無視する実装では、障害やショートが遅延する可能性があります。