Javascript CQ/AEM,其中有';cq5forms_showMgs()';定义

Javascript CQ/AEM,其中有';cq5forms_showMgs()';定义,javascript,aem,web-component,sling,Javascript,Aem,Web Component,Sling,我注意到CQ偶尔会使用这些javascript cq5forms函数和变量。我想知道它们的定义和工作原理 具体来说,我想知道cq5forms_isEmpty()是在哪里定义的。我试图让内置客户端验证工作,但JavaScript控制台不断给出一个引用错误,表示cq5forms_isEmpty()未定义 这些cq5forms函数的其他一些示例包括clientvalidation.jsp中用于内置密码约束的cq5forms_showMgs()函数: ... if(last!=confirm) {

我注意到CQ偶尔会使用这些javascript cq5forms函数和变量。我想知道它们的定义和工作原理

具体来说,我想知道cq5forms_isEmpty()是在哪里定义的。我试图让内置客户端验证工作,但JavaScript控制台不断给出一个引用错误,表示cq5forms_isEmpty()未定义

这些cq5forms函数的其他一些示例包括clientvalidation.jsp中用于内置密码约束的cq5forms_showMgs()函数:

...
if(last!=confirm) {
            cq5forms_showMsg(<%
                %>'<%= xssAPI.encodeForJSString(formId) %>',<%
                %>'<%= xssAPI.encodeForJSString(name) %>_confirm',<%
                %>'<%= xssAPI.encodeForJSString(ValidationHelper.getConstraintMessage(resource)) %>');
            return false; 
    }
...
。。。
如果(最后一次!=确认){
cq5forms_showMsg('',''确认','');
返回false;
}
...
cq5forms_isArray()和cq5forms_regcheck()将写入FieldHelper.java:

    public static void writeClientRegexpText(...)
        ...
        out.write(id);
        out.write(";" +
                  "if ( cq5forms_isArray(obj)) { \n" +
                  "for(i=0;i<obj.length;i++) { \n" +
                  "if (!cq5forms_regcheck(obj[i].value, ");
        out.write(regexp);

        out.write(")) { \n" +"cq5forms_showMsg('");
        ...
publicstaticvoid writeClientRegexpText(…)
...
out.write(id);
写出(“;”+
“如果(cq5forms_isArray(obj)){\n”+

对于(i=0;i,此javascript函数属于cq.forms clientlibrary。 您可以在crx中的以下位置找到js代码
/etc/clientlibs/foundation/form/form.js

谢谢Thomas!这正是我想要的。接下来的问题是,这些脚本是如何导入到项目中的?通过clientlibrary系统。任何客户端代码都可以组织在AEM的client library文件夹中。这些文件夹是分类的,可以声明或嵌入Dependencies和系统只需包含对clientlib的引用,即可将所需的JS和CSS代码交付到网站中。请参阅