【问题标题】:How does the MVVM pattern work for validating data?MVVM 模式如何用于验证数据?
【发布时间】:2011-11-08 01:04:06
【问题描述】:

我已经开始使用 MVVM 模式了。

如果我想显示数据,一切都很好,我可以找到一个对象的项目源,一切都按原样显示。

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

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

【问题讨论】:

标签: c# mvvm


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多