在退出 Coach 后验证 Coach 数据

要在退出 Coach 之后验证客户端人员服务中的 Coach 数据,您可以使用调用服务或客户端脚本来验证 Coach 数据。

关于本任务

如果以下情况适用,可以在退出 Coach 之后验证客户端人员服务中的 Coach 数据:
  • 验证必须访问不能供客户机使用的私人或机密数据。 服务器端验证为更安全的方法。
  • 验证必须访问基于服务器的数据或大量数据来执行验证。 例如,您拥有用户可在其中订购部件的“订单”Coach,并且想要验证库存中是否有部件。 在此情况下,如果要在不退出 Coach 的情况下使用 Coach 数据验证不符合实际。 加载大量的数据会影响客户机的性能。
  • 您正在将传统人员服务(不推荐)迁移至客户端人员服务并且想要复用在传统人员服务中具有的某些或所有验证脚本。 客户端人员服务调用您先前使用的验证服务。 但是您应该检查脚本逻辑以将相应验证代码移至客户机,从而尽可能减少服务器调用。
有关如何在不退出 Coach 的情况下执行 Coach 数据验证的信息,请参阅 在不退出 Coach 的情况下验证 Coach 数据
以下过程使用帮助中心客户端人员服务作为示例。 人员服务包含若干字段和“创建凭单”按钮。
提示: 如果可能,请将服务器端验证与服务器端逻辑结合使用,如本过程中的示例所示。 即,单一服务器端服务会验证凭单并保存凭单。 在人员服务中分几个步骤执行此过程时,请以此种方式将它们结合起来以提高性能。 它也会将相关逻辑放在一起以生成更易于维护的模型。

过程

要在退出 Coach 后验证 Coach 数据:

  1. 在设计器中,创建用于验证 Coach 数据的服务。
    此服务不能是人员服务,但可以是服务流。 请参阅 创建服务流。 该示例代码使用名为“保存凭单服务”的服务流。
    1. 在 " 变量 " 视图中,创建包含来自 Coach 的数据的输入变量。
    2. 创建包含任何验证消息的 validationResults(CoachValidation) 专用变量。
    3. 创建 hasValidationErrors(Boolean) 专用变量以指示何时存在无法通过验证测试的数据。
    4. 在 " " 视图中,添加以下元素:
      • 用于验证数据的服务器脚本。
      • 用于根据数据是否有效来路由流的决策网关。
      • 用于保存 Coach 数据的服务任务或用于完成服务的结束事件。
      • 错误结束事件。
    5. 将“开始”节点连接至脚本,并将脚本连接至决策。 将网关连接至处理有效数据的流,如保存 Coach 数据的服务。 选择流线并将其重命名为 Yes。 将网关连接至错误结束事件。 选择流线并将其重命名为 No
      生成的图类似于以下示例:
    6. 将 JavaScript 代码添加到脚本以验证 Coach 数据。
      脚本代码必须创建一个对象,该对象包含针对 Coach 数据的每个问题的实例。 如果 Coach 数据存在问题,那么还必须将脚本设置为。
      例如,如果帮助凭单必须在“摘要”字段中包含信息,那么添加类似以下示例的代码:
      // Create the CoachValidation object
      tw.local.validationResults = new tw.object.CoachValidation();
      tw.local.hasValidationErrors = false; 	// Set to false unless the data fails a validation test
      if (tw.local.ticket != null) {
      	// If there is nothing in the summary, add the error to the Coach Validation object
      	if (tw.local.ticket.summary == null || tw.local.ticket.summary.length == 0) {
          	tw.local.hasValidationErrors = true;
      		tw.system.addCoachValidationError(tw.local.validationResults, 
      			"tw.local.ticket.summary", "The problem summary is required.");
      	}
      }
    7. 在决策的 实现 属性中,将以下代码添加到 "无" 分支:
      tw.local.hasValidationErrors == true
    8. 在错误结束事件的 实现 属性中,将 错误代码 设置为变量,并将 错误映射 设置为变量。
      这些属性是客户端人员服务接收验证消息所使用的机制。
  2. 打开客户端人员服务。
  3. 在客户端人员服务中,向图中添加服务,并将 Coach 连接至该服务。
  4. 在服务节点的 实施 属性中,选择调用服务,然后选择在步骤 1 中创建的服务器端验证服务。
  5. 数据映射 属性中,将包含 Coach 数据的变量映射到相应的业务对象。
  6. 将中间事件添加到服务。
    由于中间事件与服务连接,因此它是一个错误边界事件。
  7. 在错误边界事件的 实现 属性中,将其设置为捕获特定错误并将错误数据映射到变量。
  8. 将错误边界事件连接到“留在页面上”节点。
  9. 或者,您可以在 Coach 后添加客户机端脚本节点,后跟决策网关,并在脚本中指定 Coach 验证逻辑:
  10. 单击 保存完成编辑