我注意到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_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('");
...
如果有人能指出这些定义的地方以及如何使用它们将非常感激。
答案 0 :(得分:3)
此javascript函数属于cq.forms clientlibrary。 您可以在crx中的以下位置找到js代码 /etc/clientlibs/foundation/form/form.js