C# MVVM模式如何用于验证数据?

C# MVVM模式如何用于验证数据?,c#,mvvm,C#,Mvvm,我已经开始使用MVVM模式 一切都很好如果我想显示数据,我可以找到一个对象的项目源,一切都按它应该的方式显示 我的问题是如何验证输入数据?例如,我有2个输入字段,我需要确保字段已填充,并确保该项不存在 我是否可以将字段的内容转发到我的视图模型,或者是否有其他/更好的方法?您的视图模型应该实现验证 C#中的示例代码: 如果我正确理解你的意图,这是重复的。 public class EmployeeViewModel : IDataErrorInfo, INotifyPropertyChanged

我已经开始使用MVVM模式

一切都很好如果我想显示数据,我可以找到一个对象的项目源,一切都按它应该的方式显示

我的问题是如何验证输入数据?例如,我有2个输入字段,我需要确保字段已填充,并确保该项不存在


我是否可以将字段的内容转发到我的视图模型,或者是否有其他/更好的方法?

您的视图模型应该实现验证

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;
        }
    }
}