Show Menu
主题×

教程:将规则应用于自适应表单字段

本教程是“创建您的第一个自 适应表单”系列中的一个步骤 。 Adobe建议按照时间顺序按照该系列来了解、执行和演示完整的教程用例。

关于教程

您可以使用规则向自适应表单添加交互性、业务逻辑和智能验证。 自适应表单具有内置规则编辑器。 规则编辑器提供拖放功能,与导览类似。 拖放方法是创建规则最快、最简单的方法。 规则编辑器还为有兴趣测试其编码技能或将规则提升到更高级别的用户提供一个代码窗口。
您可以在自适应表单规则编辑器中进一步 了解规则编辑器
在教程结束时,您将学习如何创建规则以:
  • 调用表单数据模型服务以从数据库检索数据
  • 调用表单数据模型服务以向数据库添加数据
  • 运行验证检查并显示错误消息
教程每个部分结尾的交互式GIF图像可帮助您快速学习和验证所构建表单的功能。

第1步:从数据库检索客户记录

您通过遵循创建表单数据模型文章创 建了表单数据模型 。 现在,您可以使用规则编辑器调用表单数据模型服务来检索信息并将信息添加到数据库。
每个客户都会获得一个唯一的客户ID编号,这有助于识别数据库中的相关客户数据。 以下过程使用客户ID从数据库检索信息:
  1. 打开自适应表单进行编辑。
  2. 点按客 户ID字段 ,然后点按编 辑规则图标 。 “规则编辑器”(Rule Editor)窗口将打开。
  3. 点按 +创建图标 ,以添加规则。 它打开可视编辑器。
    在可视编辑器中,默认 情况下 ,选择WHEN语句。 此外,在 WHEN语句中指定了从中启动规则编辑器的表单对象(本例中为客户ID )。
  4. 点按选 择状态下拉 ,然后选择 被更改 ​。
  5. THEN语句中 ,从选择操 作下拉列表中选 择调用服务 。
  6. 从“选 择”下拉菜单中选择 “检 索发运地址 ”服务。
  7. 将客户ID字段从表单对 象选项卡拖放到 Drop对象中,或在 INPUT (输入)框中选择此处字段。
  8. 将“客户 ID”、“名称”、“发货地址”、“状态”和“邮政编码”字段从“表单对象”选项卡拖放到“ Drop”对象,或在“ OUTPUT ”框中选择此处字段。
    点按 完成 ,以保存规则。 在规则编辑器窗口中,点按关 ​。
  9. 预览自适应表单。 在客户ID字段中输入 一个ID 。 表单现在可以从数据库检索客户详细信息。

第2步:将更新的客户地址添加到数据库

从数据库检索客户详细信息后,您可以更新送货地址、状态和邮政编码。 以下过程调用表单数据模型服务将客户信息更新到数据库:
  1. 选择提交 字段 ,然后点按编 辑规则图标 。 “规则编辑器”(Rule Editor)窗口将打开。
  2. 选择提 交——单击规则 ,然后点按编 辑图标 。 此时将显示用于编辑提交规则的选项。
    在“WHEN”选项中,已 选择 “提 交”和“被单击 ”选项。
  3. 在THEN选 项中 ,点按 +添加语句选项 。 从“ 选择操作 ”下拉 框中选择 “调用服务”。
  4. 从“选 ”下拉菜单中选择“ 更新发运地址 ”服务。
  5. 将“表单对象”选项卡中的“发货地址”、“状态”和“邮政编码”字段拖放到 Drop对象的相应表名。property(例如,customerdetails.shippingAddress)中,或在“输入”框中选择 “此处”字段 。 前缀为tablename的所有字段(例如,此用例中的customerdetails)用作更新服务的输入数据。 这些字段中提供的所有内容将在数据源中更新。
    请勿将 Name Customer ID (客户ID)字段拖放到相应的tablename.property(例如,customerdetails.name)。 这有助于避免错误地更新客户的姓名和ID。
  6. 将“客户ID”字段从“表 单对象 ”选项卡拖放到“ INPUT ”框的id字段中。 没有前缀表名的字段(例如,此用例中的客户详细信息)用作更新服务的搜索参数。 此用 例中的 id字段可唯一标识客户详细信息表中的记录。
  7. 点按 完成 ,以保存规则。 在规则编辑器窗口中,点按关 ​。
  8. 预览自适应表单。 检索客户详细信息,更新送货地址,并提交表单。 当您再次检索同一客户的详细信息时,将显示更新的发运地址。

第3步:(奖励部分)使用代码编辑器运行验证并显示错误消息

您应对表单运行验证,以确保在表单中输入的数据正确无误,并在数据不正确时显示错误消息。 例如,如果在表单中输入了非现有客户ID,则应显示一条错误消息。
自适应表单为多个组件提供了内置验证功能,例如,电子邮件和数字字段,您可以将这些字段用于常见用例。 对高级用例使用规则编辑器,例如,当数据库返回零(0)条记录(无记录)时,显示错误消息。
以下过程说明如何创建规则,以在表单中输入的客户ID在数据库中不存在时显示错误消息。 该规则还会将焦点置于客户ID字段并重置该字段。 该规则使 用表单数据模型服务的dataIntegrationUtils API ,检查数据库中是否存在客户ID。
  1. 点按客 户ID字段 ,然后点按图 Edit Rules 标。 “规则编辑器”(Rule Editor)窗口将打开。
  2. 点按 +创建图标 ,以添加规则。 它打开可视编辑器。
    在可视编辑器中,默认 情况下 ,选择WHEN语句。 此外,在 WHEN语句中指定了从中启动规则编辑器的表单对象(本例中为客户ID )。
  3. 点按选 择状态下拉 ,然后选择 被更改 ​。
    THEN语句中 ,从选择操 作下拉列表中选 择调用服务 。
  4. 从可视编 辑器切换 到代 码编辑器 ​。 开关控件位于窗口的右侧。 此时将打开代码编辑器,其中显示的代码类似于:
  5. 将输入变量部分替换为以下代码:
    var inputs = {
        "id" : this
    };
    
    
  6. 将guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs)部分替换为以下代码:
    guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs, function (result) {
      if (result) {
          result = JSON.parse(result);
        customer_Name.value = result.name;
        customer_Shipping_Address = result.shippingAddress;
      } else {
        if(window.confirm("Invalid Customer ID. Provide a valid customer ID")) {
              customer_Name.value = " ";
             guideBridge.setFocus(customer_ID);
        }
      }
    });
    
    
  7. 预览自适应表单。 输入错误的客户ID。 出现错误消息。