Я пытаюсь создать свой собственный обработчик проверки для некоторых настраиваемых полей в форме рабочего процесса. A имеет два поля: дата начала проекта и дата окончания проекта.
Для этих двух полей мне нужно два типа проверки:
- дата начала проекта не может быть меньше сегодняшней даты
- Дата окончания проекта должна быть равна или больше, чем дата начала проекта
Однако я все еще в начале создания пользовательских обработчиков валидации. Для начала я попробовал простой обработчик проверки для текстового поля только с числами, но это не работает. Я сделал следующее:
В моем share-config-custom.xml я добавляю
<config>
<forms>
<dependencies>
<js src="/custom-form-validation.js" />
</dependencies>
</forms>
и подключитесь к моему полю
<field id="mcwm:shortProjectNumber" set="general" mandatory="true">
<constraint-handlers>
<constraint type="MANDATORY" validation-handler="Alfresco.forms.validation.checkNumber" event="keyup" />
</constraint-handlers>
</field>
Файл custom-form-validation.js
Alfresco.forms.validation.checkNumber = function checkNumber(field, args, event, form, silent, message) {
var ok = (field.value=="") || field.value.match("^\\d{4}\\/\\d{4}$");
var valid = ok != null && ok;
if (!valid) {
YAHOO.util.Dom.setStyle(field.id, "border", "2px solid red");
}
else {
YAHOO.util.Dom.setStyle(field.id, "border", "");
}
// Inform the user if invalid
if (!valid && !silent && form)
{
var msg = "The number must match the pattern 1234/5678.";
form.addError(form.getFieldLabel(field.id) + " " + msg, field);
}
return valid;
};
Я поместил файл custom-form-validation.js в мою папку opt \ tomcat \ shared \ classes \ alfresco \ web-extension, но проверки полей вообще нет? Любое предложение по этому поводу?
С уважением,
Aleksadnar