我正在尝试为工作流表单上的某些自定义字段创建自定义验证处理程序。 A有两个字段:项目开始日期和项目结束日期。自定义表单字段(日期字段)验证处理程序
对于这两个领域,我需要两种类型的验证:
- 项目开始日期不得小于今天的日期
- 项目结束日期必须等于或刨丝器,然后项目开始日期
但是,我仍然在创建自定义验证处理程序开始。为了开始,我只是尝试了一些简单的验证处理程序的文本字段只有数字,但这不起作用。我做了以下内容:
在我的共享配置,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>
自定义表单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
正如杰夫说,现场验证被实现为客户端 - 方javascript。如果您想要一个更安全的解决方案,您可以为您的工作流任务实施onUpdateNode策略并在那里验证您的数据。 – 2012-03-02 07:09:51