验证类

验证类允许强制实施不同类型的业务规则。一些验证类具有通用性,而另一些验证类则具有特定用途。可以基于一组现有的验证类创建验证。针对节点的许多业务规则都可以通过使用查询来检查其逻辑的验证类强制实施。这样,验证还可以利用创建的用于分析的查询来管理数据完整性。版本和层次的规则或节点的特例可以使用其他验证类来实现。有些验证类仅用于产品测试用途,不能在生产环境中使用。

表 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

节点

核实对于指定属性具有指定值的所有节点,必需列表中的每个属性是否都具有值:

  • 如果拒绝默认记录标志为 True,则必需列表中的每个属性必须具有非默认值

  • 如果拒绝默认记录标志为 False,则可以接受默认值

属性、值、拒绝默认记录、必需属性

Script

节点、层次、版本、全局节点、移动、删除、合并

使用动态脚本验证数据。验证通过后返回值为 True。验证失败后返回值为 False。

Script

SingleBoolBranch

节点

核实指定布尔属性在每个分支上是否仅设置为 True 一次

属性

SinglePropBranch

节点

核实指定属性在每个分支上是否仅设置过一次

属性

StrandedParent

节点

核实是否所有枝节点都具有子代

StrPropEqual

节点

在指定属性等于指定值的所有节点上失败

属性、值

UniqueProp

节点

核实指定属性在层次内是否有重复的值

如果“包括默认值”为 False,则不包括具有默认值的节点。

如果“排除共享项”为 True,则检查属性值的唯一性时不考虑共享节点。

属性、包括默认值、排除共享项

建议 UniqueProp 验证使用具有索引的属性。

UniquePropBranch

节点

核实指定属性在分支内是否具有唯一值

属性

VersionFail

版本

在达到版本级别时自动失败以进行测试

VersionUnique2Prop

全局节点

核实指定属性在版本内没有重复的值

如果“包括默认值”为 False,则不包括具有默认值的节点。

如果“排除共享项”为 True,则检查属性值的唯一性时不考虑共享节点。

第一个属性、第二个属性、包括默认值、排除共享项

VersionUniqueProp

全局节点

核实指定属性在版本内没有重复的值

如果“包括默认值”为 False,则不包括具有默认值的节点。

如果“排除共享项”为 True,则检查属性值的唯一性时不考虑共享节点。

属性、包括默认值、排除共享项