ValidationViewModelBase クラス関連の仕様


ValidationViewModelBase

プロパティ変更通知及びデータ検証を実装したビューモデルの基底クラス

構文

public abstract class ValidationViewModelBase : WeakEventViewModelBase, IDataErrorInfo

プロパティ

public bool IsValid
データ検証エラーの発生の有無を取得します。
public ValidationDictionary ViewModelState
ビューモデルの状態及びバインディングの検証の状態を格納するビューモデル状態ディクショナリ オブジェクトを取得します。

メソッド

public void RemoveItemValidationError<T>(Expression<Func<T>> propertyName)
propertyName に設定されている検証エラーメッセージを削除します。
PropertyHelper.GetName<T>(Expression<Func<T>> e) を用いてプロパティ名を取り出します。
public void RemoveItemValidationError([CallerMemberName] string propertyName = null)
propertyName に設定されている検証エラーメッセージを削除します。
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。
public bool IsPropertyAnnotationError<T>(Expression<Func<T>> propertyName)
指定されたプロパティの System.ComponentModel.DataAnnotations のデータ検証アトリビュート検査の結果を確認します。
PropertyHelper.GetName<T>(Expression<Func<T>> e) を用いてプロパティ名を取り出します。
public bool IsPropertyAnnotationError([CallerMemberName] string propertyName = null)
指定されたプロパティの System.ComponentModel.DataAnnotations のデータ検証アトリビュート検査の結果を確認します。
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。
protected void RaisePropertyChangedWithRemoveItemValidationError<T>(Expression<Func<T>> e)
PropertyChanged イベントを発火します。
プロパティ変更通知まえに当該プロパティの検証エラーの削除を行います。
PropertyHelper.GetName<T>(Expression<Func<T>> e) を用いてプロパティ名を取り出します。
protected virtual void RaisePropertyChangedWithRemoveItemValidationError([CallerMemberName] string propertyName = null)
PropertyChanged イベントを発火します。
プロパティ変更通知まえに当該プロパティの検証エラーの削除を行います。
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。
protected void SetPropertyWithRemoveItemValidationError<T>(ref T property, T value, [CallerMemberName] string propertyName = null)
プロパティ名 property を value の値で書き換え、PropertyChanged イベントを発火します。
プロパティ変更通知まえに当該プロパティの検証エラーの削除を行います。
propertyName が省略された場合、呼び出し元のメソッドまたはプロパティの名前を用います。

ValidationDictionary

データ検証に用いるディクショナリ

構文

class ValidationDictionary : IValidationDictionary

プロパティ

bool IsValid { get; }
データ検証エラーの発生の有無を取得する。

メソッド

void AddError(string key, string errorMessage)
データ検証エラーメッセージを追加する。
public void RemoveErrorByKey(string propertyName)
propertyName に設定されているエラーメッセージを削除します。
public string GetValidationError(string propertyName)
propertyName に対するエラーメッセージを返します。エラーがない場合は null を返します。
IEnumerator<KeyValuePair<string, ModelState>> GetEnumerator()
コレクションを反復処理するために使用できる列挙子を返します。

ValidateConditionalAttribute

データ検証を行う条件を指定します。

構文

[AttributeUsage(AttributeTargets.Property)]
public class ValidateConditionalAttribute : Attribute

コンストラクタ

public ValidateConditionalAttribute(string comparedProperty, object value)

プロパティ

public string ComparedProperty
条件の比較対象となるプロパティ名を取得します。
public object Value
条件となる値を取得します。

IValidationDictionary

データ検証のインターフェイス

構文

public interface IValidationDictionary

プロパティ

bool IsValid { get; }
データ検証エラーの発生の有無を取得する。

メソッド

void AddError(string key, string errorMessage)
データ検証エラーメッセージを追加する。
void RemoveErrorByKey(string propertyName)
propertyName に設定されているエラーメッセージを削除します。
IEnumerator<KeyValuePair<string, ModelState>> GetEnumerator()
コレクションを反復処理するために使用できる列挙子を返します。