自定义函数

AEM Forms 6.5引入了用于定义JavaScript函数的功能,这些函数可用于使用规则编辑器定义复杂的业务规则。
AEM Forms提供了许多现成的此类自定义函数,但您需要定义自己的自定义函数并在多个表单中使用它们。

要定义您的第一个自定义函数,请执行以下步骤:

  • 登录crx
  • 在名为experience-league的应用程序下创建新文件夹(此文件夹名称可以是您选择的名称)
  • 保存更改。
  • 在experience-league文件夹下,创建一个名为clientlibs的cq:ClientLibraryFolder类型的新节点。
  • 选择新创建的clientlibs文件夹并添加allowProxy和类别属性,如屏幕快照中所示,并保存更改。

client-lib

  • 在​ clientlibs ​文件夹下创建名为​ js ​的文件夹
  • 在​ js ​文件夹下创建名为​ functions.js ​的文件
  • 在​ clientlibs ​文件夹下创建名为​ js.txt ​的文件。 保存更改。
  • 您的文件夹结构应类似于下面的屏幕快照。

规则编辑器

  • 双击functions.js以打开编辑器。
    将以下代码复制到functions.js中并保存更改。
/**
* Get List of County names
* @name getCountyNamesList Get list of county names
* @return {OPTIONS} drop down options
 */
function getCountyNamesList()
{
    var countyNames= [];
    countyNames[0] = "Santa Clara";
    countyNames[1] = "Alameda";
    countyNames[2] = "Buxor";
    countyNames[3] = "Contra Costa";
    countyNames[4] = "Merced";

    return countyNames;

}
/**
* Covert UTC to Local Time
* @name convertUTC Convert UTC Time to Local Time
* @param {string} strUTCString in Stringformat
* @return {string}
*/
function convertUTC(strUTCString)
{
    var dt = new Date(strUTCString);
    console.log(dt.toLocaleString());
    return dt.toLocaleString();
}

有关对javascript函数添加注释的更多详细信息,请参阅jsdoc
上述代码具有两个功能:
getCountyNamesList — 返回字符串数组
convertUTC — 将UTC时间戳转换为本地时区

打开js.txt并粘贴以下代码并保存更改。

#base=js
functions.js

​#base=js行指定JavaScript文件所在的目录。
以下行指示JavaScript文件相对于基础位置的位置。

如果您在创建自定义函数时遇到问题,请随时下载此包并将其安装在AEM实例中。

使用自定义函数

以下视频将指导您完成在自适应表单的规则编辑器中使用自定义函数所涉及的步骤

recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e