WPF数据验证_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > WPF数据验证

WPF数据验证

 2016/5/23 5:32:52  Unchained Melody  程序员俱乐部  我要评论(0)
  • 摘要:当填写表单时,需要对填写的内容进行验证,检查数据是否符合要求,比如字符串的长度、日期的格式、数字等。WPF支持自定义验证规则,并提供可视化反馈,以便在输入无效值时向用户发出通知。下面的示例将演示一个模拟员工信息录入的过程,员工的年龄为大于18的整数,工资为大于2500的数字,如果输入错误,将在文本框的后面显示一个红色的叹号,当鼠标移至错误文本框时,显示提示消息,提示用户正确的输入格式。 数据的验证可以继承ValidationRule类,重写Validate方法
  • 标签:数据

当填写表单时,需要对填写的内容进行验证,检查数据是否符合要求,比如字符串的长度、日期的格式、数字等。WPF支持自定义验证规则,并提供可视化反馈,以便在输入无效值时向用户发出通知。

下面的示例将演示一个模拟员工信息录入的过程,员工的年龄为大于18的整数,工资为大于2500的数字,如果输入错误,将在文本框的后面显示一个红色的叹号,当鼠标移至错误文本框时,显示提示消息,提示用户正确的输入格式。

 

数据的验证

可以继承ValidationRule类,重写Validate方法,实现自定义的验证规则

下面是年龄的验证规则的实现:

class="code_img_closed" alt="" src="/Upload/Images/2016052305/0015B68B3C38AA5B.gif" />logs_code_hide('461247a3-48c1-4e81-bbec-c36492b1bca3',event)" id="code_img_opened_461247a3-48c1-4e81-bbec-c36492b1bca3" class="code_img_opened" style="display: none" alt="" src="/Upload/Images/2016052305/2B1B950FA3DF188F.gif" />
    public class AgeRangeRule : ValidationRule
    {
        private int _min;
        private int _max;

        public AgeRangeRule()
        {

        }

        public int Min
        {
            get { return _min; }
            set { _min = value; }
        }

        public int Max
        {
            get { return _max; }
            set { _max = value; }
        }

        public override ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
            int age = 0;
            try
            {
                if (((string)value).Length > 0)
                    age = Int32.Parse((String)value);
            }
            catch (Exception e)
            {
                return new ValidationResult(false, "输入的数字无效!");
            }

            if ((age < Min) || (age > Max))
            {
                return new ValidationResult(false,
                  "输入的年龄范围必须在: " + Min + " - " + Max + "之间");
            }
            else
            {
                return new ValidationResult(true, null);
            }
        }
    }
View Code
发表评论
用户名: 匿名