2011-11-08 10 views
2

私はMVVMパターンの使用を開始しました。MVVMパターンはデータの検証にどのように機能しますか?

データを表示したい場合は、オブジェクトへのアイテムソースを見つけるだけで、すべてが表示されます。

私の質問は入力データの検証方法です。例えば。私は2つの入力フィールドを持っているので、フィールドにデータが入力されていることを確認し、アイテムが存在しないことを確認する必要があります。

フィールドのコンテンツを自分のビューモデルに転送するだけでも、別の方法がありますか?

+0

私はあなたの意図を理解していれば、正しくこれが重複しています。 http://stackoverflow.com/questions/4152346/mvvm-validation –

答えて

3

あなたのViewModelは、検証を行うためにIDataErrorInfoを実装する必要があります。 C#で

例コード:

public class EmployeeViewModel : IDataErrorInfo, INotifyPropertyChanged 
{ 
    public string FirstName { /* get set and NotifyChanged here...*/ } 

    public string LastName { /* get set and NotifyChanged here...*/ } 

    public string Error 
    { 
     get { return error; } 
    } 

    public string this[string columnName] 
    { 
     get 
     { 
      string error = string.Empty; 
      switch (columnName) 
      { 
       case "FirstName": 
        if(string.IsNullOrEmpty(this.FirstName)) 
         error = "FirstName can not be blank"; 
        else if (this.FirstName == "Ekk") 
         error = "Ekk is my name, you should change!"; 
        break; 
       case "LastName": 
        if(string.IsNullOrEmpty(this.LastName)) 
         error = "LastName can not be blank"; 
        break; 
      } 
      return error; 
     } 
    } 
} 
関連する問題