MVVM模式如何用于验证数据
本文关键字:用于 验证 数据 模式 何用于 MVVM | 更新日期: 2023-09-27 18:14:00
我已经开始使用MVVM模式了。
一切都很好,如果我想显示数据,我可以找到一个对象的项目源,一切都显示为应有的。
我的问题是如何验证输入数据?例如,我有两个输入字段,我需要确保字段已填充,并确保项目不存在。
我可以只是转发字段的内容到我的视图模型,或者有一个不同的/更好的方式?
你的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;
}
}
}