验证类允许强制实施不同类型的业务规则。一些验证类具有通用性,而另一些验证类则具有特定用途。可以基于一组现有的验证类创建验证。针对节点的许多业务规则都可以通过使用查询来检查其逻辑的验证类强制实施。这样,验证还可以利用创建的用于分析的查询来管理数据完整性。版本和层次的规则或节点的特例可以使用其他验证类来实现。有些验证类仅用于产品测试用途,不能在生产环境中使用。
表 10-1 验证类
验证类 | 级别 | 说明 | 参数 |
---|---|---|---|
BoolNodeInHier |
节点 |
核实指定层次中的指定布尔属性是否具有 True 值 |
属性、层次 |
ContainAllProp |
全局节点 |
核实指定层次是否包含指定属性为 True 的所有节点 |
层次、属性 |
ContainAllWith |
全局节点 |
核实指定层次是否包含指定属性具有指定值的所有节点 |
层次、属性、值 |
CustPropQuery |
节点 |
使用预定义的查询和预期结果进行核实 只能使用本地属性查询。 |
属性查询名称、失败值 |
DateRangeCheck |
节点 |
核实“开始日期”是否早于或等于“结束日期” |
开始日期属性、结束日期属性 |
Formula |
节点 |
使用以公式表示的业务逻辑来核实节点。公式结果为 False 将导致验证失败。 |
Formula |
GlobalPropQuery |
全局节点 |
使用预定义的查询和预期结果进行核实 |
属性查询名称、失败值 |
HierContainsRef |
节点 |
第一个布尔属性为 True 时,或者又一个布尔属性为 True 且该节点为叶节点时,层次包含对该节点的引用。 |
层次名称、针对所有节点的布尔属性、针对叶节点的布尔属性 |
HierFail |
层次 |
在达到层次级别时自动失败以进行测试 |
无 |
InvalidNameLength |
节点 |
核实节点名是否具有指定的长度。 |
长度 |
MaxChildren |
版本 |
核实每个节点的子代数量是否超出了指定的限制 |
子代的最大数量 |
MaxHierNodes |
层次 |
核实层次中的节点数量是否超出了指定的限制 |
节点的最大数量 |
MaxVersionNodes |
版本 |
核实版本中的节点数量是否超出了指定的限制 |
节点的最大数量 |
MergeEquiv |
合并 |
核实受影响节点和合并节点的指定属性是否具有相同的值 |
全局节点属性 |
MergePropSet |
合并 |
核实是否设置(覆盖)了指定属性的受影响节点属性值以及合并节点属性值(属性值无需相同) |
属性 |
MixedKids |
节点 |
检查同时具有枝和叶子代的节点。 |
无 |
NoBoolBranch |
节点 |
核实指定布尔属性在指定分支上是否至少有一次设置为 True |
属性 |
NodeFail |
全局节点 |
在达到版本级别时自动在节点上失败以进行测试 |
无 |
NodeFailRandom |
节点 |
在达到指定百分比的节点时自动失败以进行测试 |
失败百分比 |
NoDefaults |
节点 |
核实指定属性是否使用了默认值 |
属性 |
NoPropBranch |
节点 |
核实在指定的分支上是否至少设置过一次指定的属性 |
属性 |
PropEquivBool |
节点 |
第三个布尔属性为 True 时的属性等同性。 |
要计算的布尔属性、第一个属性、第二个属性 |
PropLength |
节点 |
核实指定属性是否未小于最小长度并且未超过最大长度 |
属性、最小长度、最大长度 |
PropRemove |
移除 |
如果指定的一个或多个属性(在 prop1、prop2 和 prop3 参数中)等于指定的值(在 value1、value2、value3 参数中),则禁止删除节点。 |
Property1、Property2、Property3、Value1、Value2、Value3 |
RequiredField |
节点 |
核实对于指定属性具有指定值的所有节点,必需列表中的每个属性是否都具有值:
|
属性、值、拒绝默认记录、必需属性 |
Script |
节点、层次、版本、全局节点、移动、删除、合并 |
使用动态脚本验证数据。验证通过后返回值为 True。验证失败后返回值为 False。 |
Script |
SingleBoolBranch |
节点 |
核实指定布尔属性在每个分支上是否仅设置为 True 一次 |
属性 |
SinglePropBranch |
节点 |
核实指定属性在每个分支上是否仅设置过一次 |
属性 |
StrandedParent |
节点 |
核实是否所有枝节点都具有子代 |
无 |
StrPropEqual |
节点 |
在指定属性等于指定值的所有节点上失败 |
属性、值 |
UniqueProp |
节点 |
核实指定属性在层次内是否有重复的值 如果“包括默认值”为 False,则不包括具有默认值的节点。 如果“排除共享项”为 True,则检查属性值的唯一性时不考虑共享节点。 |
属性、包括默认值、排除共享项 建议 UniqueProp 验证使用具有索引的属性。 |
UniquePropBranch |
节点 |
核实指定属性在分支内是否具有唯一值 |
属性 |
VersionFail |
版本 |
在达到版本级别时自动失败以进行测试 |
无 |
VersionUnique2Prop |
全局节点 |
核实指定属性在版本内没有重复的值 如果“包括默认值”为 False,则不包括具有默认值的节点。 如果“排除共享项”为 True,则检查属性值的唯一性时不考虑共享节点。 |
第一个属性、第二个属性、包括默认值、排除共享项 |
VersionUniqueProp |
全局节点 |
核实指定属性在版本内没有重复的值 如果“包括默认值”为 False,则不包括具有默认值的节点。 如果“排除共享项”为 True,则检查属性值的唯一性时不考虑共享节点。 |
属性、包括默认值、排除共享项 |