Я заметил, что CQ время от времени использует эти функции и переменные jqcdf cq5forms. Мне интересно, где они определены и как они работают.CQ/AEM, где определены функции, такие как 'cq5forms_showMgs()'?
В частности, я хочу знать, где cq5forms_isEmpty(). Я пытаюсь заставить встроенную проверку клиентов работать, но консоль JavaScript продолжает давать ссылочную ошибку, которая говорит: cq5forms_isEmpty() не определен.
Некоторые другие примеры этих cq5forms функции включают cq5forms_showMgs() функция в clientvalidation.jsp для встроенного пароля ограничения:
...
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('");
...
Если кто-нибудь может указать мне, где они определены и как они предполагается использовать, это было бы высоко оценено.
Спасибо Thomas! Это именно то, что я искал. Следующий вопрос, как эти сценарии импортируются в проект? – Synia
Через систему клиентской библиотеки. Любой клиентский код может быть организован в папке клиентской библиотеки в AEM. Эти папки классифицируются, могут объявлять или внедрять зависимости, и система позаботится о доставке необходимого кода JS и CSS на веб-сайт, просто указав ссылку на clientlib. См. Https://docs.adobe.com/docs/en/cq/5-6-1/developing/clientlibs.html. – Thomas