Я надеюсь, что кто-то здесь может помочь с этой проблемой, потому что я сделал все, как описано в книге, чтобы создать функцию Javascript для проверки поля формы Alfresco. Вот что я сделал:
Изменен файл share-config-custom.xml следующим образом:
<forms>
<dependencies>
<js src="js/date-range-validator.js" />
</dependencies>
<form>
<appearance>
<field id="myfield:dfc-start-date">
<constraint-handlers>
<constraint type="MANDATORY" validation-handler="myspace.forms.validation.checkDateRangeValidity" event="keyup"/>
</constraint-handlers>
</field>
...
</form>
</forms>
Создан файл date-range-validator.js, который я поместил в src/main/assembly/web/js
if (typeof myspace == "undefined" || !myspace) {
var myspace = {};
}
myspace.forms.validation.checkDateRangeValidity = function checkDateRangeValidity(field, args, event, form, silent, message) {
var valid = true;
alert('Checked date ' + field);
return valid;
}
Однако, когда форма отображается, я получаю исключение, потому что «myspace» не определен, поэтому похоже, что мой код валидатора не загружается. Я пытался разместить файл Javascript в разных местах проекта, но я никогда не вижу свой код проверки Javascript в браузере.
Так что я полагаю, что вопрос в том, где разместить Javascript в структуре проекта.