自定义验证

使用自定义验证,您可以添加自定义业务逻辑,以对应用程序、维、节点类型和层次集强制实施数据规则。

视频

目标 观看此视频

了解如何使用和创建自定义验证。

视频图标 使用和创建自定义验证

注意事项

  • 您必须至少对维具有所有者元数据管理员权限,才能创建、编辑或删除自定义验证。
  • 会针对视点中的所有节点,按照节点类型执行节点类型验证。
  • 会针对视点中的所有节点执行层次集验证,但前提是视点为层次。
  • 在运行请求之后会针对节点状态(即,提交请求后节点的外观)运行验证。在运行请求之前,不能针对节点状态运行验证。
  • 在提交请求、批准请求、最终提交请求或者执行验证后,会强制实施验证。下表介绍了在不同的上下文中执行验证时运行的自定义验证:
    验证上下文 验证运行
    验证请求 针对满足触发器操作或触发器属性的请求项运行自定义验证
    验证具有打开请求的视点 针对视点中的所有节点(包括请求项)运行自定义验证
    验证位于请求外部的视点 针对满足触发器属性但不满足触发器操作的请求项运行自定义验证

自定义验证示例

在此示例中,我们将在 Corporate Planning 应用程序中的“帐户”节点类型中添加一个验证,该验证规定所有节点名称的第一个字符必须与其父代名称的第一个字符相同。下面的屏幕截图显示了我们已创建的自定义验证。


帐户节点类型的屏幕截图,其后具有相应描述

该验证的定义如下:

  • “已启用”标志设置为 True。
  • 如果节点名称的第一个字符与其父代名称的第一个字符相同,则表达式返回的值为 True;如果不同,则返回的值为 False。
  • 该验证的触发器操作是“添加”和“重命名”,触发器属性为“名称”。
  • 失败消息指出,如果帐户节点的第一个字符与其父代的第一个字符不同,则验证失败。

要对该验证进行测试,让我们尝试提交一个请求,该请求为名称中的第一个字符不同于其父代第一个字符的“帐户”节点类型添加节点。在本例中,在父节点 OFS_Total Revenue 下面,我们将尝试添加一个名为 Project Revenue 的节点。


屏幕截图显示了验证错误

当我们提交该请求时,会看到一个验证错误,指出节点名称的第一个字符必须与其父节点的第一个字符相同。