Language

EditContext クラス

定義

変更されたフィールドと現在の検証メッセージのセットを示すフラグなど、データ編集プロセスに関連するメタデータを保持します。

public ref class EditContext sealed
public sealed class EditContext
type EditContext = class
Public NotInheritable Class EditContext
継承
EditContext

コンストラクター

名前 説明
EditContext(Object)

EditContextのインスタンスを構築します。

プロパティ

名前 説明
Model

この EditContextのモデル オブジェクトを取得します。

Properties

このインスタンスに関連付けられている任意のプロパティのコレクションを取得します。

ShouldUseFieldIdentifiers

<input>要素に対してフィールド識別子を生成するかどうかを取得します。

メソッド

名前 説明
AddValidationTask(FieldIdentifier, Task, CancellationTokenSource)

特定のフィールドの非同期検証タスクを登録します。 タスクは、 IsValidationPending(FieldIdentifier) と IsValidationFaulted(FieldIdentifier)を介して、保留中またはエラー状態のクエリについて追跡されます。 このフィールドのタスクが既に追跡されている場合、以前に登録された CancellationTokenSource は取り消され、新しいタスクによって置き換えられます。 EditContextは、指定されたctsの所有権を取得します。後続の検証がこのよりも優先される場合は取り消され、taskが完了すると破棄されます。

Field(String)

このEditContextのModelで指定したフィールド名に対応するFieldIdentifierを指定します。

GetValidationMessages()

すべてのフィールドの現在の検証メッセージを取得します。

このメソッドは検証自体を実行しません。 以前の検証アクションによって決定されたメッセージのみが返されます。

GetValidationMessages(Expression<Func<Object>>)

指定したフィールドの現在の検証メッセージを取得します。

このメソッドは検証自体を実行しません。 以前の検証アクションによって決定されたメッセージのみが返されます。

GetValidationMessages(FieldIdentifier)

指定したフィールドの現在の検証メッセージを取得します。

このメソッドは検証自体を実行しません。 以前の検証アクションによって決定されたメッセージのみが返されます。

IsModified()

この EditContext のいずれかのフィールドが変更されているかどうかを判断します。

IsModified(Expression<Func<Object>>)

この EditContext 内の指定したフィールドが変更されたかどうかを判断します。

IsModified(FieldIdentifier)

この EditContext 内の指定したフィールドが変更されたかどうかを判断します。

IsValid(Expression<Func<Object>>)

この EditContext 内の指定されたフィールドに、関連付けられた検証メッセージがないかどうかを判断します。

IsValid(FieldIdentifier)

この EditContext 内の指定されたフィールドに、関連付けられた検証メッセージがないかどうかを判断します。

IsValidationFaulted()

最新のValidateAsync(CancellationToken) パスで、任意のOnValidationRequestedAsync ハンドラーからのハンドルされない例外が観察された場合にtrueを返します。 後続の成功した ValidateAsync(CancellationToken) パスはフラグをクリアします。呼び出し元によって取り消されたパスは、フラグを保持します。 これを使用して、検証自体が失敗したことを検出します (検証メッセージが生成されただけでなく)。 AddValidationTask(FieldIdentifier, Task, CancellationTokenSource)からのフィールドごとの検証エラーの場合は、IsValidationFaulted(FieldIdentifier)オーバーロードを使用します。

IsValidationFaulted(FieldIdentifier)

指定したフィールドの最後の非同期検証にエラーが発生した (キャンセル以外の例外がスローされた) 場合は、 true を返します。

IsValidationFaulted<TField>(Expression<Func<TField>>)

accessor式の最後の非同期検証で識別されたフィールドにエラーが発生した (キャンセル以外の例外がスローされた) 場合は、trueを返します。

IsValidationPending()

フォーム レベルのValidateAsync(CancellationToken) パスが現在実行中の場合にtrueを返します。 フォーム全体の UI (送信ボタンの無効化や "検証..." の表示など) の操作に適しています。現在の提出のインジケーター。 フィールド レベルの保留中のタスクは考慮しません (これらは、次のフォーム レベルのパスの開始時に置き換えられます)。フィールドごとの状態に IsValidationPending(FieldIdentifier) オーバーロードを使用します。

IsValidationPending(FieldIdentifier)

指定したフィールドに保留中の非同期検証タスクがある場合は、 true を返します。 タスクは、フレームワークのオブザーバーがその結果を解決し、スロットをクリアするまで (つまり、タスク自体が完了するまで)、"保留中" であるため、 IsValidationPending(FieldIdentifier) が false になるのを待つコンシューマーは、最終的な IsValidationFaulted(FieldIdentifier) 値も確実に表示されます。

IsValidationPending<TField>(Expression<Func<TField>>)

accessor式で識別されるフィールドに保留中の非同期検証タスクがある場合は、trueを返します。

MarkAsUnmodified()

この EditContext内のすべての変更フラグをクリアします。

MarkAsUnmodified(FieldIdentifier)

指定したフィールドに対して追跡できる変更フラグをクリアします。

NotifyFieldChanged(FieldIdentifier)

指定したフィールドの値が変更されたことを通知します。

NotifyValidationStateChanged()

検証状態の一部の側面が変更されたことを示します。

Validate()

この EditContextを検証します。

ValidateAsync(CancellationToken)

この EditContext を非同期的に検証します。 保留中のフィールド レベルの非同期検証タスクを取り消し、同期 OnValidationRequested ハンドラーを呼び出してから、非同期 OnValidationRequestedAsync ハンドラーを同時に呼び出して待機します。 同期ハンドラーからの例外は呼び出し元に伝達され、 Validate()一致します。 非同期ハンドラーによってスローされるキャンセル以外の例外が含まれています。フォームはエラーとしてマークされ (パラメーターなしの IsValidationFaulted()を介して監視可能)、メソッドは falseを返します。 非同期部分の処理中に、パラメーターなしの IsValidationPending() は true を返して、アプリケーションでグローバルな "検証..." を表示できるようにします。は、呼び出し自体をラップせずにインジケーターを表示します。 フォーム レベルの IsValidationFaulted() 結果は、パスが完了した場合にのみ更新されます。呼び出し元が取り消したパス間で保持されます。

イベント

名前 説明
OnFieldChanged

フィールド値が変更されたときに発生するイベント。

OnValidationRequested

検証が要求されたときに発生するイベント。 検証コンポーネントは、同期検証を実行するためにこのイベントをサブスクライブします。

OnValidationRequestedAsync

検証が要求されたときに発生する非同期イベント。 検証コンポーネントは、非同期検証 (データベース参照、リモート API 呼び出しなど) を実行するために、このイベントをサブスクライブします。 ハンドラーは、 ValidateAsync(CancellationToken)によって待機されます。 Validate() これらのハンドラーも呼び出しますが、それぞれが同期的に完了する必要があります。不完全な Taskが返された場合、 Validate() は InvalidOperationExceptionをスローします。

OnValidationStateChanged

検証状態が変更されたときに発生するイベント。

拡張メソッド

名前 説明
AddDataAnnotationsValidation(EditContext)
古い.

DataAnnotations 検証のサポートを EditContextに追加します。

EnableDataAnnotationsValidation(EditContext, IServiceProvider)

EditContextの DataAnnotations 検証サポートを有効にします。

EnableDataAnnotationsValidation(EditContext)
古い.

EditContextの DataAnnotations 検証サポートを有効にします。

FieldCssClass(EditContext, FieldIdentifier)

指定したフィールドの状態を CSS クラスとして示す文字列を取得します。

FieldCssClass<TField>(EditContext, Expression<Func<TField>>)

指定したフィールドの状態を CSS クラスとして示す文字列を取得します。 これには、フィールドの状態に応じて、"modified"、"valid"、または "invalid" の組み合わせがいくつか含まれます。

SetFieldCssClassProvider(EditContext, FieldCssClassProvider)

指定した FieldCssClassProvider を指定された EditContextに関連付けます。 これにより、 EditContext内で使用されるフィールド CSS クラス名がカスタマイズされます。

適用対象