在AEM Forms Workflow中设置JSON数据元素的值 setting-value-of-json-data-element-in-aem-forms-workflow
由于自适应表单在AEM Workflow中被路由到不同的用户,因此需要根据查看表单的人来隐藏或禁用某些字段或面板。 为了满足这些用例,我们通常设置隐藏字段的值。 可以基于此隐藏字段的值创作业务规则以隐藏/禁用相应的面板或字段。
在AEM Forms OSGi中 — 我们必须创建一个自定义OSGi捆绑包以设置JSON数据元素的值。 该捆绑包作为本教程的一部分提供。
我们使用AEM Workflow中的“流程步骤”。 我们将“在Json中设置元素的值”OSGi捆绑包与此流程步骤关联。
我们需要将两个参数传递给设置值捆绑包。 第一个参数是需要设置其值的元素的路径。 第二个参数是需要设置的值。
例如,在上面的屏幕截图中,我们将initialStep元素的值设置为“N”
afData.afUnboundData.data.initialStep,N
在我们的示例中,我们提供了一个简单的休息时间申请表。 此表单的发起人填写其姓名和休息日期。 提交后,此表单将转至“经理”进行审核。 当管理器打开表单时,第一个面板上的字段被禁用。 这是因为我们已在JSON数据中将initial step元素的值设置为N。
根据初始步骤字段值,我们显示“审批者”面板,“经理”可以批准或拒绝请求。
请查看针对“初始步骤”设置的规则。 我们根据initialStep字段的值,使用表单数据模型提取用户详细信息,并填充相应的字段和隐藏/禁用相应的面板。
要在本地系统上部署资产,请执行以下操作:
-
下载并部署setvalue捆绑包. 这是自定义OSGI捆绑包,允许您在提交的json数据中设置元素的值。
-
- 将浏览器指向 包管理器
- 导入并安装SetValueOfElementInJSONDataWorkflow.zip。此包中包含与表单关联的示例工作流模型和表单数据模型。
- 将浏览器指向 包管理器
-
将浏览器指向 Forms和文档
-
单击创建 | 文件上传
-
上传TimeOffRequestForm.zip文件
此表单是使用AEM Forms 6.4构建的。请确保您使用的是AEM Forms 6.4或更高版本 -
打开 表单
-
填写开始日期和结束日期并提交表单。
-
转到 "收件箱"
-
打开与任务关联的表单。
-
请注意,第一个面板中的字段已禁用。
-
请注意,用于批准或拒绝请求的面板现在可见。