Language

AsyncValidationAttribute.IsValid メソッド

定義

オーバーロード

Name 説明
IsValid(Object)

AsyncValidationAttribute実装がIsValid(Object, ValidationContext)経由で単一の同期フォールバックを提供するだけで済むように、ValidationContext オーバーロードに委任するIsValid(Object)のシールされたオーバーライド。

IsValid(Object, ValidationContext)

この属性の同期検証動作を定義します。

IsValid(Object)

ソース:
AsyncValidationAttribute.cs

AsyncValidationAttribute実装がIsValid(Object, ValidationContext)経由で単一の同期フォールバックを提供するだけで済むように、ValidationContext オーバーロードに委任するIsValid(Object)のシールされたオーバーライド。

public:
 override bool IsValid(System::Object ^ value);
public override sealed bool IsValid(object? value);
override this.IsValid : obj -> bool
Public Overrides NotOverridable Function IsValid (value As Object) As Boolean

パラメーター

value
Object

検証する値。

返品

true 値が有効な場合は〘。それ以外の場合は false。

適用対象

IsValid(Object, ValidationContext)

ソース:
AsyncValidationAttribute.cs

この属性の同期検証動作を定義します。

protected:
 abstract System::ComponentModel::DataAnnotations::ValidationResult ^ IsValid(System::Object ^ value, System::ComponentModel::DataAnnotations::ValidationContext ^ validationContext);
protected abstract System.ComponentModel.DataAnnotations.ValidationResult? IsValid(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext);
override this.IsValid : obj * System.ComponentModel.DataAnnotations.ValidationContext -> System.ComponentModel.DataAnnotations.ValidationResult
Protected MustOverride Function IsValid (value As Object, validationContext As ValidationContext) As ValidationResult

パラメーター

value
Object

検証する値。

validationContext
ValidationContext

検証対象のオブジェクトやメンバーなど、検証操作に関するコンテキストを提供する ValidationContext インスタンス。 IServiceProviderを使用して検証を実行するために必要なサービスへのアクセスを提供します。 この値は、コンテキストレス IsValid(Object) オーバーロードがこのメソッドを呼び出すときにnullできます。

返品

Success 検証が有効な場合。

検証が無効な場合の ValidationResult のインスタンス。

注釈

同期検証コンシューマーは、このメソッドを呼び出します。 該当するルールを評価できる場合は同期実装を提供し、ルールが値を拒否したときに検証エラーを返します。 必要なルールが適用されても同期的に評価できない場合は、呼び出し元を非同期検証エントリ ポイントに誘導するメッセージで InvalidOperationException をスローします。 サポートされていない呼び出しでは、値が無効であることが確立されません。

ルールが適用されない場合にのみ、ルールを評価せずに Success を返します。 必要な非同期チェックが適用されるが、同期的に実行できないために成功を返さないでください。 成功は、保留中の検証を示したり、後で非同期呼び出しを配置したりすることはありません。

Task<TResult>.Result、Task.Wait()、またはGetAwaiter().GetResult()による非同期処理をブロックして、このメソッドを実装しないでください。 非同期操作を Task.Run でラップしても、ブロック待機は適切になりません。

適用対象