Alfresco 共享工作流表单验证

Alfresco share worflow form validation

几天来我一直在尝试验证我的露天共享工作流表单,但没有成功。这就是我所做的。

  1. 在位于 %TOMCAT_HOME%tomcat\shared\classes\alfresco\web-extension

  2. 的 share-config-custom.xml 中配置了我的工作流
  3. 按如下方式设置我的约束处理程序。

                    <constraint-handlers>
                        <constraint type="MANDATORY"
                            validation-handler="Alfresco.forms.validation.examplestaffnumber"
                            event="keyup" />
                    </constraint-handlers>
                </field>
    

    这个字段我已经设置为必填
    < label-id="Staff Number" id="leave:staffnumber" mandatory="true">

  4. 我创建了约束处理程序 javascript 并将其放在 %ALFRESCO_HOME%\tomcat\webapps\share\js 文件夹中。这既是js又是min.js

  5. 最后在位于 %ALFRESCO_HOME%tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\form 的 form.get.head.ftl 添加了 js 像这样的文件夹 <@script type="text/javascript" src="${page.url.context}/res/js/examplevalidation.js">

当我 select 我的 worflow 表单和员工编号表单中的键值没有任何反应。我已经检查了 firebug 但没有对 js 的任何调用。 我哪里出错了?

我认为您还没有为您的 java 脚本添加依赖项。为此,请在位于 %ALFRESCO_HOME%tomcat\shared\classes\alfresco\web-extension

的 share-config-custom.xml 中添加以下代码
<config>
    <forms>
        <dependencies>
            <js src="/js/examplevalidation.js" />
        </dependencies>
    </forms>
</config>

你的约束处理程序应该像

<field id="leave:staffnumber" label-id="Staff Number" mandatory="true">
    <control template="/org/alfresco/components/form/controls/textfield.ftl" />
        <constraint-handlers>
            <constraint type="MANDATORY" validation-handler="Alfresco.forms.validation.examplestaffnumber" event="blur"/>
        </constraint-handlers>
</field>

你的js中的函数应该是这样的:

Alfresco.forms.validation.examplestaffnumber = function examplestaffnumber(
            field, args, event, form, silent, message) {
    // your code with return statement
}

希望对您有所帮助!!!