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()
- コレクションを反復処理するために使用できる列挙子を返します。