业务验证代码的框架结构
业务验证处理委托:
Public Delegate Function RuleHandler(byval target as Object, byval e as RuleArgs) as Boolean
target:要处理的数据对象
e:验证规则参数,该参数将指导验证方法的执行。该参数至少包含:target上需要验证的数据项名称,以及其它验证条件
1<serializable()>Public Class RuleArgs
2Private mPropertyName as String
3Public ReadOnly Property PropertyName() as String
4Get
5Return mPropertyName
6End Get
7End Property
8Public Sub New(byval propertyName as String)
9mPropertyName = propertyName
10End Sub
11End Class
12
13
14建立验证规则管理器,验证规则管理器通过“验证名称”来管理验证规则(就要使用到HybridDictionary),对验证的管理至少包含添加验证,执行验证。
15Public Class RulesManage
16'添加验证规则,所有的验证规则都由HybridDictionary来保存
17Public Sub AddRule(byval handler as RuleHandler, byval rulename as String, byval ruleArgs as RuleArgs)
18'执行验证,验证的执行通过保存在HybridDictionary中的RuleHandler来完成,对target的处理由ruleName来指导,而ruleName和RuleArgs对应,RuleArgs中包含了验证数据的名称及其它验证条件
19Public Sub CheckRules(byval target as Object, byval ruleName as String)
20End Sub</serializable()>