TC 2007 的Web 端,頁面簡潔也簡單。
非空驗證的話,直接在後面加上一個 紅箭頭+ "Required value is not specified." 這樣一些紅色的提示信息。
而這種驗證看上去又是和CF端的form 的定義管理起來的。
定義成require 的屬性會做這種驗證。
那麼在web 端實現的機制是怎樣的呢? 是否可以不和CF端綁定,在 Web端直接進行這種驗證呢?
以創建一個物件為例,關鍵的action-component 是
ModelEntity -- 這是web 端用來顯示的對象
outValidationException - -> 包含了異常信息的對象集。
有了這些概念,在看看 EnterpriseValidationActionComponent.java這只代碼很容易的就可以得出結論:
使用 AttributeValidationException 就能夠得到想要的結果, 事實也如此。
貼一個代碼段:
AttributeValidationException[] attr_exceptions = new AttributeValidationException[1]; AttributeValidationException attr_exception = new AttributeValidationException("Description","Required value is not specified."); attr_exceptions[0] = attr_exception; ValidationException ve = new ValidationException(dialogModelEntity,attr_exceptions); arguments.setObject("outValidatedModelEntity", dialogModelEntity); arguments.setObject("outValidationException", ve); OptionSet options = action_context.getOptionSet(); Option localOption2 = options.getOption("validation-error");
如果需要使用自己定義的非 Create, Update 的dialog 進行驗證,
或是update 視不同狀況更新的欄位和必填驗證不同, 可以考慮這種方式。
(當然, 除了這邊的處理外,還需要結合其他部分才能完成完整的功能)