c#验证方法

时间:2010-04-20 07:44:28

标签: c# winforms validation

场景是这样的:

有4个控件,两个下拉菜单,两个日期选择器和一些验证规则。一个是主人下拉
根据主下拉菜单中的值,将在两个日期选择器和另一个下拉控件上应用一些验证规则 如果用户更改了四个控件中的任何一个值,则会触发此验证规则。

需要在编辑的最后一个控件上设置错误提供程序。

我正在考虑为每个验证规则创建一个方法。语法的主方法:

Private void ValidateData(Control ctrl)
    {
       ClearAllErrors();
       switch(value value in master dropdown)
       case 'Value 1' : Rule1(ctrl)
       case 'Value 2' : Rule2(ctrl)
       ....
    }

这样的规则方法:

Private void Rule1(Control ctrl)
{
     //Rule Logic
     //Eg. Date in dropdown should between 5 days after the date in dropdown1 
     //and 3 days before the date in dropdown2. 
     //Set error provider on the control if rule breaks.
}

现在,对于任何四个控件的验证事件,我将传递该控件并调用ValidateData()方法。

想法是保持代码可维护。这种方法可以以任何方式进行优化,或者有更好的方法来处理这些验证。

2 个答案:

答案 0 :(得分:1)

使用验证器factory

答案 1 :(得分:1)

您的方法没有错误