[AEM Forms]{class="badge positive" title="适用于AEM Forms)。"}
规则编辑器增强功能和用例
这些是通过我们的预发布渠道提供的预发布功能。 这些增强功能还适用于Edge Delivery Services Forms。
本文介绍了自适应Forms中规则编辑器的最新增强功能。 这些更新旨在帮助您更轻松地定义表单行为,而无需编写自定义代码,并创建更动态、响应更快且个性化的表单体验。
下表列出了自适应Forms中规则编辑器的最近增强功能,简要说明以及每项功能的主要优势:
进行粒度验证 — 通过目标错误消息传递
获得更好的用户体验 — 防止因数据不完整而进步
— 减少表单提交错误
现在,让我们通过特定用例详细探索每种方法,以帮助您了解如何使用这些功能为用户提供个性化体验
函数列表中的验证方法
增强的验证功能,允许在函数列表中使用 validate() 方法来验证面板、字段或整个表单。 例如,在多步骤贷款申请表单中,您需要先验证不同的部分,然后才能允许用户继续执行下一步。
方案:金融机构提供多步骤贷款申请表,用户必须填写不同的部分,例如:
- 个人详细信息
- 雇用详细信息
- 贷款详细信息
- 审核并提交
在用户从一个步骤移动到下一个步骤之前,表单必须仅验证当前部分中的字段。 例如,除非正确填写“个人详细信息”中的所有必填字段,否则不应允许用户继续访问“雇用详细信息”。
在规则编辑器中使用validate()的实现
每个面板中的 Next 按钮使用 validate() 方法触发规则。 该规则检查当前面板中的所有字段是否有效。 如果验证通过,表单将导航到下一个面板。 如果没有,则显示错误消息,引导用户更正输入。
下面的屏幕截图显示了应用于 下一步 按钮的规则:
在上述规则中,下一步按钮检查 个人详细信息 部分中的字段是否有效。 如果详细信息无效,焦点将移至 个人详细信息 面板中的 姓名 字段。
下载记录文档
使用规则编辑器中的 DownloadDor() 现成(OOTB)函数,允许用户下载记录文档(如果表单配置为生成记录文档)。
方案:政府机构提供了用于颁发证书的数字申请表。 在提交表单后,申请人通常需要填写完毕的表单副本以作记录或与另一个部门共享。 为了改善用户体验,FDA希望让申请者可以选择在提交后立即下载记录文档(DoR),或选择在最终提交前的任何阶段下载。
在规则编辑器中使用DownloadDor()的实现
使用规则编辑器将 Download 按钮添加到表单,并配置了一个规则以在单击该按钮时触发 DownloadDor() 函数。
下面的屏幕截图显示了应用于 下载 按钮的规则:
如果表单配置为生成DoR,则此函数会立即生成和下载PDF,而无需任何自定义函数。
在规则中支持动态变量
增强型规则编辑器支持创建和使用动态(临时)变量。 可使用内置 设置变量值 和 获取变量值 函数在表单的整个生命周期内设置和检索这些变量。
这些变量包括:
- 未随表单数据一起提交。
- 可以保存中间值或计算值。
- 可用于条件逻辑和操作中。
方案:在线购物表单允许用户选择产品、输入数量以及选择送货国家/地区。 产品价格是通过表单字段捕获的固定值,而装运费用会因所选国家/地区而动态变化。
为避免表单与隐藏字段混乱,企业决定将运费存储在一个临时变量中,并将其用于实时计算。
在规则编辑器中使用Set Variable Value和Get Variable Value函数实现
已使用 Set Variable Value 函数在 Address 片段上配置规则,以分配名为 extracharge 的临时变量。 此变量的值会根据所选国家/地区进行动态更改。 例如:
- 如果用户选择“美国”,则 extracharge 设置为500。
- 对于任何其他国家/地区,extracharge设置为100。
稍后,在计算 总装运成本 时,使用 获取变量值 函数检索 excharge 的值。 此值将添加到 产品价格×产品数量 中,以计算点击按钮时应付的最终金额。
随着用户更改国家/地区或数量,总装运成本字段会动态更新以反映产品成本和装运费用。
这种方法可以实现动态的实时计算,而无需向表单中添加额外的字段,保持结构干净和用户友好。
基于自定义事件的规则支持
增强规则编辑器支持使用 调度事件 和 触发事件 函数进行自定义事件处理。 这些函数允许表单的不同部分通过发送和侦听自定义事件来通信,实现更干净的模块化逻辑,而无需将操作紧密耦合到特定字段。
方案:使用可重用的登录片段构建登录表单,该登录片段包含 输入用户名 和 输入密码 字段。 当用户提供有效凭据时,表单验证输入并启动 获取OTP 进程。 用户输入有效的OTP后,会被重定向到相应的页面。
该表单不使用直接绑定到字段的逻辑,而是使用基于事件的方法搭配 调度事件 和 触发事件 来提高模块性和可维护性。
使用调度事件和触发器事件实施
登录片段将添加到表单中,其中包含用户名和密码的预定义字段。 在 获取OTP 按钮上配置了用于显示 验证面板 的规则,该面板包括用于输入和验证OTP的输入字段。
在 验证面板 中,在“验证”按钮上配置了规则。 API集成用于验证在 输入OTP 字段中输入的OTP。 如果验证成功,则使用包含API响应的事件有效负载触发名为 LoggedIn 的调度事件。
在表单级别,规则配置为侦听 LoggedIn 事件。 触发此事件时,规则会显示重定向消息并将用户转到仪表板页面。
当用户提交具有正确凭据和有效OTP的表单时,登录成功,用户将被重定向到其仪表板。
支持自定义事件,允许开发人员创建和触发可用作规则编辑器中的条件的自定义事件。
针对可重复面板的基于上下文的规则执行
自适应Forms支持对可重复面板执行上下文感知规则。 这允许规则专门应用于用户进行交互的面板实例,而不是影响所有实例或默认为最后一个实例。
方案:产品订购单允许用户在单独的面板中添加多个产品。 每个面板都包含一个 Number of Product 字段和一个 总成本 字段。 当用户更新产品的数量时,表单应重新计算总价,但仅针对该特定面板,不针对所有其他面板。
在规则编辑器中使用上下文感知规则的实施
在可重复产品面板内的 Number of Product 字段中配置了规则。
以下屏幕快照显示可重复产品面板中 Number of Product 字段的规则:
更改数量时,规则将获取所选产品的单价,并仅计算该面板的总成本。
自适应Forms中基于URL和浏览器参数的规则
自适应Forms支持使用外部参数执行动态规则,这些外部参数通过表单URL传递或派生自用户的浏览器环境。 这可根据访客来自何处或他们使用的设备来实现个性化的上下文感知表单体验。
允许的参数类型
ref (仅限字符串值)?之后的通用键值对?ref=partner123UTM Medium
UTM Campaign
UTM搜索词
UTM内容
?utm_source=google&utm_medium=email路径
hostname=www.example.com、path=/signup浏览器语言
浏览器平台
Browser Agent=Mozilla、Language=en-US方案:潜在客户生成表单需要根据流量源定制其欢迎消息。 当用户通过Google广告促销活动登陆表单时(在URL中使用utm_source=google),表单应显示自定义问候语。
使用UTM参数实现
在向Google用户显示自定义消息的文本字段中配置了一个规则,该规则使用 utm_source 参数。
下面的屏幕截图显示了短信上配置的规则:
如果 utm_source 参数值等于“google”,则自定义消息为“Hello Google users, welcome to the Campaign Ad!” 显示了。
这允许营销人员根据将他们带到表单的营销活动将相关内容交付给用户,而无需手动输入字段或自定义脚本。
这些增强功能显着扩展了自适应Forms规则编辑器的功能,为开发人员提供了创建更动态、交互式和智能表单的强大工具。 每项增强功能都可满足特定的业务需求,同时维护使规则编辑器可供技术和非技术用户访问的易用性。