Validator.ValidateObjectAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| Name | 説明 |
|---|---|
| ValidateObjectAsync(Object, ValidationContext, CancellationToken) |
指定された |
| ValidateObjectAsync(Object, ValidationContext, Boolean, CancellationToken) |
指定されたオブジェクト インスタンスが無効な場合は、 ValidationException を非同期的にスローします。 |
ValidateObjectAsync(Object, ValidationContext, CancellationToken)
- ソース:
- Validator.cs
指定されたinstanceが無効な場合は、ValidationExceptionを非同期的にスローします。
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")]
public static System.Threading.Tasks.Task ValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken = default);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")>]
static member ValidateObjectAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ValidateObjectAsync (instance As Object, validationContext As ValidationContext, Optional cancellationToken As CancellationToken = Nothing) As Task
パラメーター
- instance
- Object
テストするオブジェクト インスタンス。
nullすることはできません。
- validationContext
- ValidationContext
検証対象のオブジェクトについて説明し、検証コントロールのサービスとコンテキストを提供します。
- cancellationToken
- CancellationToken
タスクの完了を待機している間に観察する CancellationToken 。
返品
非同期検証操作を表す Task 。
- 属性
例外
instanceがnullされたとき。
validationContextがnullされたとき。
instanceがvalidationContextのObjectInstanceと一致しない場合。
instanceが無効であることが判明した場合。
検証操作が取り消されました。
注釈
このメソッドは、オブジェクトのプロパティの RequiredAttribute 属性をチェックします。 プロパティの検証が成功した場合、メソッドは、オブジェクトの型にアタッチされている ValidationAttribute 属性を評価します。
このオーバーロードでは、他のプロパティ レベルの検証属性は評価されません。 これらの属性を評価するには、その引数が true に設定されたvalidateAllPropertiesを受け入れるオーバーロードを呼び出します。
検証は、プロパティの検証、型レベルの属性の検証、オブジェクト レベルの検証の 3 つの段階で実行されます。 各ステージは、上記のステージが成功した場合にのみ実行されます。 オブジェクト レベルの検証では、同期インターフェイスのみを実装するオブジェクトのフォールバックとしてValidate(ValidationContext)を使用して、実装時にValidateAsync(ValidationContext, CancellationToken)を呼び出す方が優先されます。 両方を呼び出すわけではありません。
適用対象
ValidateObjectAsync(Object, ValidationContext, Boolean, CancellationToken)
- ソース:
- Validator.cs
指定されたオブジェクト インスタンスが無効な場合は、 ValidationException を非同期的にスローします。
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")]
public static System.Threading.Tasks.Task ValidateObjectAsync(object instance, System.ComponentModel.DataAnnotations.ValidationContext validationContext, bool validateAllProperties, System.Threading.CancellationToken cancellationToken = default);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Constructing a ValidationContext without a display name is not trim-safe because it uses reflection to discover the type of the instance being validated in order to resolve the DisplayNameAttribute when a display name is not provided.")>]
static member ValidateObjectAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ValidateObjectAsync (instance As Object, validationContext As ValidationContext, validateAllProperties As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
パラメーター
- instance
- Object
テストするオブジェクト インスタンス。
nullすることはできません。
- validationContext
- ValidationContext
検証対象のオブジェクトについて説明し、検証コントロールのサービスとコンテキストを提供します。
- validateAllProperties
- Boolean
true場合は、instanceのすべてのプロパティも検証します。
- cancellationToken
- CancellationToken
タスクの完了を待機している間に観察する CancellationToken 。
返品
非同期検証操作を表す Task 。
- 属性
例外
instanceがnullされたとき。
validationContextがnullされたとき。
instanceがvalidationContextのObjectInstanceと一致しない場合。
instanceが無効であることが判明した場合。
検証操作が取り消されました。
注釈
このメソッドは、validateAllPropertiesがfalseされている場合でも、オブジェクトのプロパティのRequiredAttribute属性をチェックします。 プロパティの検証が成功した場合、メソッドは、オブジェクトの型にアタッチされている ValidationAttribute 属性を評価します。
validateAllPropertiesがtrueされている場合、メソッドはオブジェクトの即時プロパティの他の検証属性も評価します。 このプロセスでは、プロパティ値は再帰的に検証されません。
検証は、プロパティの検証、型レベルの属性の検証、オブジェクト レベルの検証の 3 つの段階で実行されます。 各ステージは、上記のステージが成功した場合にのみ実行されます。 オブジェクト レベルの検証では、同期インターフェイスのみを実装するオブジェクトのフォールバックとしてValidate(ValidationContext)を使用して、実装時にValidateAsync(ValidationContext, CancellationToken)を呼び出す方が優先されます。 両方を呼び出すわけではありません。