场景是这样的:
有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()方法。
想法是保持代码可维护。这种方法可以以任何方式进行优化,或者有更好的方法来处理这些验证。