2016-01-28 66 views

回答

4

可重複使用的字段級驗證(例如:電話號碼,郵政編碼等),我認爲最好的辦法是註冊在engine's配置自定義FormType(上Activiti'檢查項目9.1用戶指南)。自定義FormType實現是通過擴展AbstractFormType創建的,並實現了一些將字符串轉換爲/從字符串轉換爲您想要在內部使用的任何表示形式的方法。

表單級別驗證(即作爲整體應用於表單的驗證)我通常使用連接到偵聽EVENTNAME_COMPLETE事件的任務的TaskListener。在這個監聽器中,您可以執行驗證邏輯並在出現問題時引發異常。至於「一起部署所有內容」:對於最簡單的情況,您只需創建一個帶額外驗證類的jar並將其放入您的類路徑中即可。如果您希望將此代碼與您的流程一起部署,那麼不存在直接的答案。這是可能的,但我認爲這應該是另一個問題的主題。

+0

我們可以聊天嗎? –

+0

當然。查看我的個人資料以獲取聯繫方式。 –

0

菲利普的答案應該給你非常可靠的結果。另一種不添加JavaScript的方法是在模型中使用正則表達式約束。

例如,如果我想我的輸入是一個五位數的區號,我可能做到這一點:

<constraint name="myWorkflow:zipRegex" type="REGEX"> 
    <parameter name="expression"> 
     <value>^\d{5}$</value> 
    </parameter> 
</constraint> 

下面是構建和測試regexs一個很好的工具,順便說一句:https://regex101.com/

在這種情況下,除了正常的bpmn20,model,config-custom及其上下文文件之外,不會有外部文件被佔用,並且可以按照典型的相同方式進行部署。將文件放入它們各自的類文件夾(/擴展名爲bpmn,型號及其上下文文件;/web-extension用於config-custom及其上下文)並重新啓動服務。如果已經部署並重新部署,請使用工作流程控制檯通過命令'deploy activiti alfresco/extension/myWorkflow.bpmn20.xml'進行部署'