WPF:使用IDataErrorInfo进行验证,使用类似的验证规则实现低可重用性

时间:2010-05-28 20:52:12

标签: wpf windows validation

我有一个实现IDataErrorInfo的学生实体:

现在我要针对姓氏,性别,街道,城市,邮政和电话验证完全相同的规则。

我真的要重复这一切吗?使用ValidationRule类会更好但是我

无法通过ICommand处理禁用/启用按钮。

...

 #region Validation Rules

    private string ValidateFirstName()
    {
        if (IsStringMissing(this.FirstName))
            return ErrorStrings.General_Error_StringMustNotBeEmpty;

        if (IsStringTooLong(this.FirstName))
            return ErrorStrings.General_Error_StringTooLong50Maximum;

        return null;
    }

    private static bool IsStringMissing(string value)
    {
        return String.IsNullOrEmpty(value) || value.Trim() == String.Empty;
    }

    private static bool IsStringTooLong(string value)
    {
        return value.Length > 50;
    }

    #endregion

1 个答案:

答案 0 :(得分:0)

我认为使用属性更容易。看看我对这个问题的回答:

How can I define a IDataErrorInfo Error Property for multiple BO properties