### 前言
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 視不同狀況更新的欄位和必填驗證不同, 可以考慮這種方式。
(當然, 除了這邊的處理外,還需要結合其他部分才能完成完整的功能)
###
- 前言
- 國內外PLM/PDM廠商情況
- PLM系統與選擇
- Teamcenter及其一攬子產品解決方案初步介紹
- Teamcenter 開發利器組合介紹。 Eclipse + Visual Studio
- TeamCenter開發系統設計系列之一
- linux下自動部署Teamcenter Enterprise 的服務端腳本
- Teamcenter 入門開發系列問答(1)
- PLM基本概念收集
- Teamcenter 入門開發系列問答(2)
- Teamcenter 入門開發系列問答(3)
- Teamcenter 入門開發系列問答(4)
- Teamcenter 入門開發系列問答(5)
- Teamcenter開發問題之-- relation 無法創建 and 無法check in
- Teamcenter(Enterprise 2007) Admin 手法之 -- 移除relation
- Teamcenter 2007 之 Part 物件關聯
- Teamcenter 2007之錯誤信息提示
- Teamcenter(Enterprise 2007) 開發之- 快速搭建開發環境(windows)
- Teamcenter 開發中的一些問題
- Teamcenter - Index search 找不到相關物件的解決方法
- Teamcenter2007 安裝步驟
- [Teamcenter 2007 開發系列] 整合Extjs 展現頁面組件
- Teamcenter2007 開發環境搭建和技巧
- [Teamcenter 2007 開發系列] web 非空驗證
- [Teamcenter 2007 開發實戰] 獲取錯誤或提示信息
- Teamcenter Web 端自動登錄 (SSO)
- [Teamcenter 2007 開發實戰] 調用web service
- [碼海拾貝 之TC] 呼叫外部應用程序或腳本
- [碼海拾貝 之TC] 使用View 定義動態的Class