2
我已經開始使用MVVM模式。MVVM模式如何用於驗證數據?
如果我想要顯示數據,一切都很好,我可以找到項目源到一個對象,一切都顯示爲它應該。
我的問題是如何驗證輸入數據?例如。我有2個輸入字段,我需要確保填充字段並確保該項目不存在。
我可以只將字段的內容轉發到我的視圖模型或有不同的/更好的方式嗎?
我已經開始使用MVVM模式。MVVM模式如何用於驗證數據?
如果我想要顯示數據,一切都很好,我可以找到項目源到一個對象,一切都顯示爲它應該。
我的問題是如何驗證輸入數據?例如。我有2個輸入字段,我需要確保填充字段並確保該項目不存在。
我可以只將字段的內容轉發到我的視圖模型或有不同的/更好的方式嗎?
您的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;
}
}
}
如果我理解你的意圖正確,這是一個重複的。 http://stackoverflow.com/questions/4152346/mvvm-validation –