将规则添加到自适应表单核心组件 adaptive-forms-rule-editor
本文包含自适应Forms核心组件的最新规则编辑器功能,包括:
- 支持使用When-then-else功能实施嵌套条件
- 验证或重置面板和表单,包括字段
- 支持自定义函数中的现代 JavaScript 功能,例如 let 和箭头函数(ES10 支持)。
规则编辑器功能有助于表单业务用户和开发人员编写关于自适应表单对象的规则。 这些规则根据预设条件、用户输入和用户对表单的操作,定义要在表单对象上触发的操作。 它有助于进一步简化表单填写体验,确保准确性和速度。
规则编辑器提供了用于编写规则的直观且简化的用户界面。 规则编辑器为所有用户提供可视编辑器。使用规则对自适应表单对象执行的一些关键操作包括:
- 显示或隐藏对象
- 启用或禁用对象
- 为对象设置值
- 验证某个对象的值
- 通过执行函数来计算对象的值
- 调用表单数据模型 (FDM) 服务并执行操作
- 设置对象的属性
添加到forms-power-users
组的用户可以创建脚本并编辑现有脚本。 forms-users group
中的用户可以使用这些脚本,但不能创建或编辑脚本。
了解规则 understanding-a-rule
规则是操作和条件的组合。 在规则编辑器中,操作包括隐藏、显示、启用、禁用或计算表单中对象值等活动。 条件是对表单对象的状态、值或属性执行检查和操作而计算的布尔表达式。 根据通过评估条件返回的值(True
或False
)执行操作。
规则编辑器提供了一组预定义的规则类型(如When、Show、Hide、Enable、Disable、Set Value Of和Validate)以帮助您编写规则。 每种规则类型均允许您定义规则中的条件和操作。 本文档进一步详细说明了每种规则类型。
规则通常遵循以下结构之一:
Condition-Action 在此构造中,规则首先定义条件,然后定义要触发的操作。 该构造在编程语言中与if-then statement
相当。
在规则编辑器中,When 规则类型强制使用condition-action结构。
Action-Condition 在此构造中,规则首先定义要触发的操作,然后定义评估条件。 此结构的另一个变体是action-condition-alternate action ,它还会定义在条件返回False时要触发的替代操作。
规则编辑器中的“显示”、“隐藏”、“启用”、“禁用”、“设置值”和“验证”规则类型强制实施action-condition
规则结构。 默认情况下,“显示”的替代操作是“隐藏”,而“启用”的替代操作是“禁用”,反之亦然。 您不能更改默认替代操作。
有关规则编辑器中可用规则类型的详细信息,请参阅规则编辑器中的可用规则类型。
选择规则结构的准则 guidelines-for-choosing-a-rule-construct
虽然您可以使用任何规则构建来实现大多数用例,但以下是选择一种构建而不是另一种构建的一些准则。 有关规则编辑器中可用规则的更多信息,请参阅规则编辑器中的可用规则类型。
-
创建规则时,一个典型的经验法则是考虑您所编写规则的对象的上下文。 假定您要根据用户在字段A中指定的值隐藏或显示字段B。在这种情况下,您要评估字段A的条件,并根据它返回的值,触发字段B的操作。
因此,如果您在字段B(您对其评估条件的对象)上编写规则,请使用
condition-action
构造或When
规则类型。 同样,在字段A上使用action-condition
构造或Show or Hide
规则类型。 -
有时,您必须根据一个条件执行多个操作。 在这种情况下,建议使用
condition-action
构造。 在此构造中,您可以计算一次条件并指定多个操作语句。例如,要根据检查用户在字段A中指定的值的条件隐藏字段B、C和D,请编写一条规则,其中在字段A上使用condition-action结构或When规则类型,并指定操作以控制字段B、C和D的可见性。否则,您需要在字段B、C和D上分别使用三个规则,其中每个规则都会检查条件,并显示或隐藏各自的字段。 在此示例中,在一个对象上编写When规则类型比在三个对象上编写Show或Hide规则类型更有效。
-
要根据多个条件触发操作,建议使用action-condition构造。 例如,要通过评估字段B、C和D的条件来显示和隐藏字段A,请在字段A上使用显示或隐藏规则类型。
-
如果规则包含一个条件的一个操作,则使用condition-action或action condition结构。
-
如果规则检查条件,并在字段中提供值或退出字段时立即执行操作,则建议在评估条件的字段中编写具有condition-action结构或When规则类型的规则。
-
当用户更改应用When规则的对象的值时,将评估When规则中的条件。 但是,如果您希望操作在服务器端更改时触发(如预填充值),则建议编写一个When规则以在字段初始化时触发操作。
-
在编写下拉列表、单选按钮或复选框对象的规则时,表单中这些表单对象的选项或值会在规则编辑器中预填充。
规则编辑器中的可用运算符类型和事件 available-operator-types-and-events-in-rule-editor
规则编辑器提供了以下逻辑运算符和事件,您可以使用这些运算符和事件创建规则。
- 等于
- 不等于
- 开头为
- 结尾为
- 包含
- 不包含
- 为空
- 不为空
- 已选择: 当用户为复选框、下拉列表或单选按钮选择特定选项时,返回true。
- 已初始化(事件): 当表单对象在浏览器中呈现时返回true。
- Is Changed (event): 当用户更改表单对象的输入值或选定选项时,返回true。
规则编辑器中的可用规则类型 available-rule-types-in-rule-editor
规则编辑器提供了一组可用于编写规则的预定义规则类型。 让我们详细了解一下每种规则类型。 有关在规则编辑器中编写规则的更多信息,请参阅编写规则。
时间 whenruletype
When 规则类型遵循 condition-action-alternate action 规则结构,有时只遵循 condition-action 结构。 在此规则类型中,首先指定评估条件,然后指定满足该条件时要触发的操作(True
)。 在使用When规则类型时,您可以使用多个AND和OR运算符来创建嵌套表达式。
使用When规则类型,您可以评估表单对象的条件,并对一个或多个对象执行操作。
简单地说,典型的When规则的结构如下所示:
When on Object A:
(Condition 1 AND Condition 2 OR Condition 3) is TRUE;
Then, do the following:
Action 2 on Object B;
AND
Action 3 on Object C
;
Else, do the following:
Action 2 on Object C;
_
当具有多值组件(如单选按钮或列表)时,在为该组件创建规则时,会自动检索选项并使这些选项可用于规则创建者。 您无需再次键入选项值。
例如,列表包含四个选项:红色、蓝色、绿色和黄色。 创建规则时,将自动检索选项(单选按钮)并使规则创建者可以使用此选项,如下所示:
编写When规则时,可以触发Clear Value Of操作。 Clear Value Of
操作清除指定对象的值。 在When语句中将Clear Value of
作为选项允许您创建具有多个字段的复杂条件。 可以添加Else语句以添加更多条件。
的值
When中允许使用多个字段 allowed-multiple-fields
在 When 条件中,您可以选择添加应用规则的字段以外的其他字段。
例如,使用When规则类型,您可以评估不同表单对象上的条件并执行操作:
When:
(Object A Condition 1)
AND/OR
(Object B Condtion 2)
Then, do the following:
Action 1 on Object A
_
中允许使用多个字段
在When条件功能中使用允许多个字段时的注意事项
- 确保将核心组件和规范版本设置为最新版本,以便在规则编辑器中使用此功能。
- 如果将规则应用于When条件中的不同字段,则即使仅更改了这些字段之一,也会触发规则。
如果When条件功能中允许的多个字段遇到任何问题,请按照以下疑难解答步骤操作:
- 在编辑模式下打开表单。
- 打开内容浏览器,然后选择自适应表单的 指南容器 组件。
- 单击指南容器属性 图标。这将打开“自适应表单容器”对话框。
- 单击完成,然后再次保存对话框。
隐藏 隐藏指定的对象。
显示 显示指定的对象。
启用 启用指定的对象。
禁用 禁用指定的对象。
调用服务 调用表单数据模型(FDM)中配置的服务。 选择“调用服务”操作时,会出现一个字段。 点按该字段时,会显示在Experience Manager实例上的所有表单数据模型(FDM)中配置的所有服务。 在选择表单数据模型服务时,会出现更多字段,您可以在其中映射具有指定服务的输入和输出参数的表单对象。 请参阅调用表单数据模型(FDM)服务的规则示例。
除了表单数据模型服务之外,您还可以指定直接WSDL URL来调用Web服务。 但是,表单数据模型服务具有许多好处,并且推荐调用服务的方法。
有关在表单数据模型(FDM)中配置服务的详细信息,请参阅Experience Manager Forms 数据集成。
设置值 计算并设置指定对象的值。 您可以将对象值设置为字符串、另一个对象的值、使用数学表达式或函数的计算值、对象的属性值或来自已配置表单数据模型服务的输出值。 当您选择Web服务选项时,它将显示在Experience Manager实例上的所有表单数据模型(FDM)中配置的所有服务。 在选择表单数据模型服务时,会出现更多字段,您可以在其中映射具有指定服务的输入和输出参数的表单对象。
有关在表单数据模型(FDM)中配置服务的详细信息,请参阅Experience Manager Forms 数据集成。
Set Property 规则类型允许您根据条件操作设置指定对象的属性值。 您可以将属性设置为以下项之一:
- 可见(布尔值)
- label.value(字符串)
- label.visible(布尔值)
- description(字符串)
- 已启用(布尔值)
- readOnly(布尔值)
- 必需(布尔值)
- screenReaderText(字符串)
- 有效(布尔值)
- errorMessage(字符串)
- 默认(数字、字符串、日期)
- enumNames (字符串[])
- chartType(字符串)
例如,您可以定义规则以在单击按钮时显示文本框。 您可以使用自定义函数、表单对象、对象属性或服务输出来定义规则。
要基于自定义函数定义规则,请从下拉列表中选择 函数输出,然后从 函数 选项卡中拖放自定义函数。 如果满足条件操作,则文本输入框将可见。
要基于表单对象定义规则,请从下拉列表中选择 表单对象,然后从 表单对象 选项卡中拖放表单对象。 如果满足条件操作,则文本输入框在自适应表单中可见。
通过基于对象属性的“设置属性”规则,您可以根据自适应表单中包含的其他对象属性使文本输入框在自适应表单中可见。
下图展示了一个动态启用复选框的示例,该复选框基于自适应表单中文本框的隐藏或显示:
清除值 清除指定对象的值。
设置焦点 设置指定对象的焦点。
提交表单 提交表单。
重置 重置表单或指定的对象。
验证 验证表单或指定的对象。
添加实例 添加指定可重复面板或表行的实例。
删除实例 删除指定的可重复面板或表行的实例。
函数输出 根据预定义的函数或自定义函数定义规则。
导航到 导航到其他自适应Forms、其他资源(如图像或文档片段)或外部URL。
调度事件 根据预定义的条件或事件触发特定操作或行为。
设置值 set-value-of
规则类型的 设置值允许您根据是否满足指定的条件来设置表单对象的值。 该值可以设置为另一个对象的值、文本字符串、从数学表达式或函数派生的值、另一个对象的属性值或表单数据模型服务的输出。 同样,您可以检查组件、字符串、属性或从函数或数学表达式派生的值的条件。
Set Value Of 规则类型不适用于所有表单对象,例如面板和工具栏按钮。 标准的“设置值”规则具有以下结构:
将对象A的值设置为:
(字符串ABC)或
(对象C的对象属性X)或
(函数中的值)或
(数学表达式中的值)或
(数据模型服务的输出值);
时间(可选):
(条件 1 和条件 2 和条件 3)为 TRUE;
下面的示例选择 as True
的值Question2
并设置 as correct
的值Result
。
使用表单数据模型服务的设置值规则示例。
显示 show
使用 Show 规则类型,您可以编写规则以根据条件是否满足来显示或隐藏表单对象。 Show规则类型还会触发Hide操作,以防条件不满足或返回False
。
典型的显示规则的结构如下所示:
Show Object A;
When:
(Condition 1 OR Condition 2 OR Condition 3) is TRUE;
Else:
Hide Object A;
隐藏 hide
与“显示”规则类型类似,您可以使用 隐藏 规则类型,根据是否满足条件来显示或隐藏表单对象。 如果条件不满足或返回False
,隐藏规则类型还会触发“显示”操作。
典型的“隐藏”规则的结构如下所示:
Hide Object A;
When:
(Condition 1 AND Condition 2 AND Condition 3) is TRUE;
Else:
Show Object A;
启用 enable
启用 规则类型允许您根据条件是否满足来启用或禁用表单对象。 Enable规则类型也会在条件不满足或返回False
时触发Disable操作。
典型的Enable规则的结构如下所示:
Enable Object A;
When:
(Condition 1 AND Condition 2 AND Condition 3) is TRUE;
Else:
Disable Object A;
禁用 disable
与“启用”规则类型类似,禁用 规则类型允许您根据条件是否满足来启用或禁用表单对象。 Disable规则类型还会触发Enable操作,以防条件不满足或返回False
。
典型的禁用规则的结构如下所示:
Disable Object A;
When:
(Condition 1 OR Condition 2 OR Condition 3) is TRUE;
Else:
Enable Object A;
验证 validate
Validate 规则类型使用表达式验证字段中的值。 例如,您可以编写一个表达式来检查用于指定名称的文本框是否不包含特殊字符或数字。
典型的验证规则的结构如下所示:
Validate Object A;
Using:
(Expression 1 AND Expression 2 AND Expression 3) is TRUE;
了解规则编辑器用户界面 understanding-the-rule-editor-user-interface
规则编辑器提供了一个全面而简单的用户界面来编写和管理规则。 您可以在创作模式下从自适应表单中启动规则编辑器用户界面。
要启动规则编辑器用户界面,请执行以下操作:
-
在创作模式下打开自适应表单。
-
选择要为其编写规则的表单对象,然后在组件工具栏中选择 。 此时将显示规则编辑器用户界面。
此视图中列出了选定表单对象上的任何现有规则。 有关管理现有规则的信息,请参阅管理规则。
-
选择 创建 以编写新规则。 默认情况下,首次启动规则编辑器时会打开规则编辑器用户界面的可视化编辑器。
让我们详细了解一下规则编辑器UI的每个组件。
A.组件规则显示 a-component-rule-display
显示自适应表单对象的标题(通过自适应表单对象启动规则编辑器)和当前选定的规则类型。 在上述示例中,规则编辑器从标题为问题1的自适应表单对象启动,并且选定的规则类型为何时。
B.表单对象和功能 b-form-objects-and-functions-br
规则编辑器用户界面左侧的窗格包含两个选项卡 — Forms对象 和 函数。
“表单对象”选项卡显示自适应表单中包含的所有对象的分层视图。 它显示对象的标题和类型。 在编写规则时,可以将表单对象拖放到规则编辑器中。 在将对象或函数拖放到占位符中时,在创建或编辑规则时,占位符会自动采用相应的值类型。
应用了一个或多个有效规则的表单对象将标有绿点。 如果应用于表单对象的任意规则无效,则表单对象将标有黄点。
“函数”选项卡包含一组内置函数,例如“总和”、“最小值”、“最大值”、“平均值”、“数目”和“验证表单”。 您可以使用这些函数计算可重复面板和表格行中的值,并在编写规则时在操作和条件语句中使用它们。 但是,您也可以创建自定义函数。
图中显示了一些函数列表:
在表单对象的左树中,您可以选择表单对象以显示应用于每个对象的规则。 您不仅可以浏览各种表单对象的规则,还可以复制粘贴表单对象之间的规则。 有关详细信息,请参阅复制粘贴规则。
C.表单对象和功能切换 c-form-objects-and-functions-toggle-br
点按切换按钮可切换表单对象和函数窗格。
D.可视规则编辑器 visual-rule-editor
可视规则编辑器是规则编辑器用户界面的可视编辑器模式中用于编写规则的区域。 它允许您选择规则类型并相应地定义条件和操作。 在规则中定义条件和操作时,您可以从表单对象和函数窗格中拖放表单对象和函数。
有关使用可视规则编辑器的详细信息,请参阅编写规则。
E.完成和取消按钮 done-and-cancel-buttons
Done 按钮用于保存规则。 您可以保存不完整的规则。 但是,不完整是无效的,不会运行。 下次从同一表单对象启动规则编辑器时,将列出表单对象上保存的规则。 您可以在该视图中管理现有规则。 有关详细信息,请参阅 管理规则。
“ 取消 ”按钮将放弃对规则所做的任何更改并关闭规则编辑器。
编写规则 write-rules
您可以使用可视化规则编辑器编写规则
我们首先看一下如何使用可视编辑器编写规则。
使用可视编辑器 using-visual-editor
让我们了解如何使用以下示例表单在可视编辑器中创建规则。
示例贷款申请表中的“贷款要求”部分要求申请人指定其婚姻状况、工资,如果已婚,则说明其配偶的工资。 根据用户输入,规则将计算贷款资格金额,并显示在贷款资格字段中。 应用以下规则来实施方案:
- 配偶的“薪金”字段仅在婚姻状况为已婚时显示。
- 贷款资格金额为工资总额的50%。
要编写规则,请执行以下步骤:
-
首先,根据用户为“婚姻状况”单选按钮选择的选项,编写规则以控制“配偶薪金”字段的可见性。
以创作模式打开贷款申请表单。 选择 婚姻状况 组件并选择 。 接下来,选择 创建 以启动规则编辑器。
在启动规则编辑器时,默认情况下会选中When规则。 此外,从中启动规则编辑器的表单对象(在本例中为“婚姻状况”)在When语句中指定。
虽然不能更改或修改所选对象,但可以使用如下所示的规则下拉列表选择其他规则类型。 如果要在其他对象上创建规则,请选择“取消”以退出规则编辑器,然后从所需的表单对象中再次启动该编辑器。
-
选择 选择状态 下拉列表并选择 等于。 出现 输入字符串 字段。
-
在规则的 输入字符串 字段中,从下拉菜单中选择 已婚。
您已将条件定义为
When Marital Status is equal to Married
。 接下来,定义此条件为True时要执行的操作。 -
在Then语句中,从 选择操作 下拉列表中选择 显示。
-
从“表单对象”选项卡中拖放 放置对象上的 Warbant Salary 字段,或选择此处 字段。 或者,选择 Drop对象或选择此处 字段,然后从弹出菜单中选择 Berpha Salary 字段,该字段列出了表单中的所有表单对象。
接下来,定义此条件为False时要执行的操作。
-
单击 添加其他部分 为 配偶薪金 字段添加其他条件,以防您选择婚姻状况作为单身。
-
在Else语句中,从 选择操作 下拉列表中选择 隐藏。
-
从“表单对象”选项卡中拖放 放置对象上的 Warbant Salary 字段,或选择此处 字段。 或者,选择 Drop对象或选择此处 字段,然后从弹出菜单中选择 Berpha Salary 字段,该字段列出了表单中的所有表单对象。
规则在规则编辑器中如下所示。
-
选择 完成 以保存规则。
-
接下来,编写规则以计算贷款资格金额(占总薪金的50%),并在“贷款资格”字段中显示。 若要获得此结果,请在贷款资格字段中创建 设置值。
在创作模式下,选择 贷款资格 字段并选择 。 接下来,选择 创建 以启动规则编辑器。
-
从规则下拉列表中选择 设置规则值。
-
选择 选择选项 并选择 数学表达式。 用于编写数学表达式的字段打开。
-
在表达式字段中:
-
从Forms的“对象”选项卡中,选择或拖放第一个 放置对象中的 Salary 字段,或选择此处 字段。
-
从 选择运算符 字段中选择 加号。
-
从Forms的“对象”选项卡中选择或拖放另一个 拖放对象中的 Berphor Salary 字段,或选择此处 字段。
-
-
接下来,在表达式字段周围高亮显示的区域中选择,然后选择 扩展表达式。
在扩展表达式字段中,从 Select Operator 字段中选择 除以 并从 Select Option 字段中选择 Number。 然后在数字字段中指定 2。
note note NOTE 您可以使用“选择选项”字段中的组件、函数、数学表达式和属性值来创建复杂的表达式。 接下来,创建一个条件,当返回 True 时,表达式将执行。
-
选择“添加条件 ” 以添加 When 语句。
在When语句中:
-
从Forms对象选项卡中选择或拖放第一个 放置对象中的 婚姻状况 字段,或选择此处 字段。
-
从 Select Operator 字段中选择 等于。
-
在其他 放置对象中选择String或选择此处 字段,并在 输入字符串 字段中指定 已婚。
规则编辑器中的结果如下所示。
-
-
选择 完成。 保存规则。
-
重复步骤7至14,定义另一条规则,以计算婚姻状况为“单身”的贷款资格。 规则在规则编辑器中如下所示。
或者,您可以使用设置值规则在您创建的When规则中计算贷款资格,以显示 — 隐藏“配偶薪金”字段。 当“婚姻状况”为“单身”时,生成的合并规则将在规则编辑器中显示如下。
您可以使用Else条件编写组合规则,以控制“配偶薪金”字段的可见性,并在婚姻状况为“已婚”时计算贷款资格。
规则编辑器中的自定义函数 custom-functions
除了在 函数输出 下列出的现成函数(如 总和)之外,您还可以在规则编辑器中使用自定义函数。 规则编辑器支持脚本和自定义函数的JavaScript ECMAScript 2019语法。 有关创建自定义函数的说明,请参阅文章自适应Forms中的自定义函数
管理规则 manage-rules
选择表单对象并选择 时,会列出该对象上的任何现有规则。 您可以查看标题并预览规则摘要。 此外,您还可以通过UI展开和查看完整的规则摘要、更改规则的顺序、编辑规则以及删除规则。
您可以对规则执行以下操作:
-
展开/折叠:规则列表中的“内容”列显示规则内容。 如果整个规则内容在默认视图中不可见,请选择 以展开它。
-
重新排序:您创建的任何新规则都栈叠在规则列表的底部。 规则将从上到下执行。 顶部的规则先执行,然后是相同类型的其他规则。 例如,如果您分别从顶部开始,在第一、第二、第三和第四个位置执行When、Show、Enable和When规则,则顶部的When规则将首先执行,然后在第四个位置执行When规则。 然后,执行显示和启用规则。
您可以通过点按 来更改规则的顺序,也可以将其拖放到列表中的所需顺序。 -
编辑:要编辑规则,请选中规则标题旁边的复选框。 将显示用于编辑和删除规则的选项。 选择 编辑 以在规则编辑器中打开所选规则。
-
删除:要删除规则,请选择该规则并选择 删除。
-
启用/禁用:当必须临时暂停使用规则时,您可以选择一个或多个规则,并在“操作”工具栏中选择 禁用 以禁用它们。 如果禁用某个规则,则它不会在运行时执行。 要启用已禁用的规则,可以选择该规则并选择操作工具栏中的启用。 规则的状态列显示规则是启用还是禁用。
复制粘贴规则 copy-paste-rules
您可以将规则从一个字段复制粘贴到其他类似字段,以节省时间。
要复制粘贴规则,请执行以下操作:
-
选择要从中复制规则的表单对象,然后在组件工具栏中选择 。 此时将显示规则编辑器用户界面,其中选定了表单对象,并显示现有规则。
有关管理现有规则的信息,请参阅管理规则。
-
选中规则标题旁边的复选框,将显示用于管理规则的选项。 选择 复制。
-
选择要将规则粘贴到的其他表单对象,然后选择 粘贴。 此外,您可以编辑规则以对其进行更改。
note note NOTE 仅当表单对象支持复制的规则事件时,才能将规则粘贴到另一个表单对象。 例如,按钮支持click事件。 您可以将包含点击事件的规则粘贴到按钮,但不能粘贴到复选框。 -
选择 完成 以保存规则。
嵌套表达式 nestedexpressions
规则编辑器允许您使用多个AND和OR运算符创建嵌套规则。 您可以在规则中混合使用多个AND和OR运算符。
以下是嵌套规则的示例,该规则会在满足所需条件时向用户显示有关儿童监护权资格的消息。
您还可以拖放规则中的条件以进行编辑。 选择并将鼠标悬停在条件前面的句柄( )上。 指针变为手形符号后(如下所示),将条件拖放到规则中的任意位置。 规则结构会发生变化。
日期表达式条件 dateexpression
规则编辑器允许您使用日期比较来创建条件。
下面是一个示例条件,如果房屋的抵押已经获得,则显示静态文本对象,用户通过填写日期字段来表示。
当用户填写的财产抵押日期是过去时,自适应表单将显示有关收入计算的注释。 以下规则将用户填写的日期与当前日期进行比较,如果用户填写的日期早于当前日期,则表单将显示文本消息(名为“收入”)。
如果填写日期早于当前日期,则表单会显示如下文本消息(收入):
满足
数字比较条件 number-comparison-conditions
规则编辑器可让您创建比较两个数字的条件。
下面是一个示例条件,如果申请人在当前地址停留的月数少于 36 个月,则显示静态文本对象。
当用户表示在当前居住地址居住不到36个月时,该表格显示可以请求更多居住证明的通知。
示例规则 example
调用表单数据模型服务 invoke
考虑一个Web服务GetInterestRates
,它将贷款金额、保有权和申请人的信用得分作为输入并返回包括EMI金额和利率的贷款计划。 可使用Web服务作为数据源创建表单数据模型(FDM)。 向表单模型添加数据模型对象和get
服务。 该服务将显示在表单数据模型(FDM)的“服务”选项卡中。 然后,创建一个自适应表单,其中包含数据模型对象中的字段,以捕获贷款金额、使用期和信用评分的用户输入。 添加触发Web服务获取计划详细信息的按钮。 输出将填充到相应的字段中。
以下规则显示了如何配置Invoke service操作以完成示例方案。
使用When规则触发多个操作 triggering-multiple-actions-using-the-when-rule
在贷款申请表中,您要获取贷款申请人是否为现有客户。 根据用户提供的信息,客户ID字段应显示或隐藏。 此外,如果用户是现有客户,则还需要将焦点设置为“客户ID”字段。 贷款申请表包括以下组成部分:
-
单选按钮 您是现有Geometrixx客户吗?,提供是和否选项。 “是”的值为 0,“否”的值为 1。
-
用于指定客户ID的文本字段 客户ID Geometrixx。
在用于实施此行为的单选按钮上编写When规则时,该规则在可视规则编辑器中如下所示。
可视编辑器中的规则
在示例规则中,When部分中的语句是条件,当返回True时,该条件将执行Then部分中指定的操作。
在规则中使用函数输出 using-a-function-output-in-a-rule
在采购订单表单中,您有下表,用户可在其中填写订单。 在此表中:
- 第一行是可重复的,因此用户可以订购多个产品并指定不同的数量。 其元素名称为
Row1
。 - 可重复行的“产品数量”列中的单元格的标题为“数量”。 此单元格的元素名称为
productquantity
。 - 表中的第二行是不可重复的,该行中“产品数量”列中的单元格的标题为“总数量”。
A. 行1 B. 数量 C. 总数量
现在,您要在所有产品的“产品数量”列中添加指定数量,并在“总数量”单元格中显示总和。 通过在“总数量”单元格中写入“设置值”规则,可以实现此总和,如下所示。
可视编辑器中的规则
使用表达式验证字段值 validating-a-field-value-using-expression
在上一个示例中说明的采购订单表单中,您需要限制用户订购任何数量超过此10000价的产品。 要执行此验证,您可以编写验证规则,如下所示。
可视编辑器中的规则