场景如下:
根据主下拉列表中的值,某些验证规则将应用于两个日期选择器和另一个下拉控件。
如果用户更改四个控件中的任何一个控件的值,将触发此验证规则。
需要在最后编辑的控件上设置错误提供程序。
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.
}
这样做的目的是保持代码的可维护性。这种方法可以以任何方式进行优化,或者有更好的方法来处理这种验证。