### 前言
TC 2007 的Web 端,页面简洁也简单。
非空验证的话,直接在后面加上一个 红箭头+ "Required value is not specified." 这样一些红色的提示信息。
而这种验证看上去又是和CF端的form 的定义管理起来的。
定义成require 的属性会做这种验证。
那么在web 端实现的机制是怎样的呢? 是否可以不和CF端绑定,在 Web端直接进行这种验证呢?
### 实现机制
以创建一个物件为例,关键的action-component 是
![](https://box.kancloud.cn/2016-02-18_56c5448f84fde.jpg)
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