当前位置: 首页 > news >正文

Windchill中afterVK的写法示例

目录

一、需求说明

二、步骤及代码示例

        2.1 配置内容

        a. xconf中

        b. action中

        2.2 校验代码实现逻辑示例


一、需求说明

        标准的windchill开发中,在页面wizard步骤点击下一步时,时常需要进行一些信息内容的校验,这样的校验,windchill产品提供了标准的afterVK做法,下面是一个简单的afterVK示例。

二、步骤及代码示例

        2.1 配置内容

        a. xconf中

        

<Service context="default" name="com.ptc.core.ui.validation.UIComponentValidator" targetFile="codebase/service.properties"><Option requestor="null"serviceClass="ext.test.partbom.dao.validators.SpecificationModelValidator"selector="validatorSpecificationModel" /></Service>

        b. action中

        

	<action name="searchSupplierManufacturerStep" required="false" preloadWizardPage="false" afterVK="validatorSpecificationModel"><command windowType="wizard_step" url="netmarkets/jsp/ext/test/partbom/searchSupplierManufacturerStep.jsp" /></action>

        2.2 校验代码实现逻辑示例

        

package ext.test.partbom.dao.validators;import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;import org.apache.commons.lang.StringUtils;import wt.util.WTException;import com.ptc.core.ui.resources.FeedbackType;
import com.ptc.core.ui.validation.DefaultUIComponentValidator;
import com.ptc.core.ui.validation.UIValidationCriteria;
import com.ptc.core.ui.validation.UIValidationFeedbackMsg;
import com.ptc.core.ui.validation.UIValidationKey;
import com.ptc.core.ui.validation.UIValidationResult;
import com.ptc.core.ui.validation.UIValidationStatus;import ext.test.generic.constants.AttributeConstants;
import ext.test.partbom.bean.ManufacturerSupplierBean;public class SpecificationModelValidator extends DefaultUIComponentValidator {@Overridepublic UIValidationResult validateFormSubmission(UIValidationKey uivalidationkey,UIValidationCriteria uivalidationcriteria, Locale locale) throws WTException {UIValidationResult uivalidationresult = UIValidationResult.newInstance(uivalidationkey,UIValidationStatus.PERMITTED);Map<String,String> attrMap = uivalidationcriteria.getText();List<ManufacturerSupplierBean> beans = manufacturerSupplierInfo(attrMap);for (int i = 0; i < beans.size(); i++) {ManufacturerSupplierBean bean = beans.get(i);if(StringUtils.isEmpty(bean.getHQ_SPECIFICATIONMODEL().trim())){uivalidationresult.addFeedbackMsg(UIValidationFeedbackMsg.newInstance("记录列表中有规格型号为空,请填写!",FeedbackType.ERROR));uivalidationresult.setStatus(UIValidationStatus.DENIED);return uivalidationresult;}}uivalidationresult = super.validateFormSubmission(uivalidationkey, uivalidationcriteria, locale);return uivalidationresult;}@SuppressWarnings("rawtypes")private static List<ManufacturerSupplierBean> manufacturerSupplierInfo(Map<String,String> map) {List<ManufacturerSupplierBean> list = new ArrayList<ManufacturerSupplierBean>();//String customPartNumber = (String) map.get(AttributeConstants.ATTR_HQ_CUSTOMER_ITEM_NO);Set set = map.keySet();for (Object key : set) {String keyStr = (String) key;String rowId = "";if (keyStr.contains(AttributeConstants.ATTR_HQ_MANUFACTURER + "_")) {rowId = keyStr.substring(keyStr.indexOf(AttributeConstants.ATTR_HQ_MANUFACTURER + "_")+ (AttributeConstants.ATTR_HQ_MANUFACTURER + "_").length());String manufacturer = (String) map.get(AttributeConstants.ATTR_HQ_MANUFACTURER + "_"+ rowId);String supplier = (String) map.get(AttributeConstants.ATTR_HQ_SUPPLIER + "_" + rowId);String specificationModel = (String) map.get(AttributeConstants.ATTR_HQ_SPECIFICATIONMODEL+ "_" + rowId);ManufacturerSupplierBean bean = new ManufacturerSupplierBean();bean.setHQ_MANUFACTURER(manufacturer);bean.setHQ_SUPPLIER(supplier);bean.setHQ_SPECIFICATIONMODEL(specificationModel);list.add(bean);}}return list;}
}

http://www.dtcms.com/a/474225.html

相关文章:

  • 《红色脉络:一部PLMN在中国的演进史诗 (1G-6G)》 第12篇 | 接入网重构:从eNodeB到gNodeB——C-RAN与“下沉”
  • so域名的网站有哪些wordpress主题恢复出厂设置
  • Maven中的settings.xml文件配置详解
  • 南昌制作企业网站湘潭网站建设 安全还踏实磐石网络
  • 我设计的数字编码
  • 从分片到可编程网卡——【网络编程】详解 IP 协议:报头字段、路由器功能、网段划分和分片传输
  • 南通网站建设排名公司哪家好北京网站建设公司电扬
  • BSW:辅助模块、校验与代码生成笔记
  • seo网站营销推广wordpress更新版本
  • 李宏毅机器学习笔记20
  • 无锡信息网站建设最近热点新闻素材
  • 开发中遇到的关于Spring事务[传播行为和隔离级别]的相关问题的记录
  • CVE-2019-2729反序列化(unserialize)漏洞学习与分析
  • 一流的句容网站建设自己做的网站找不到了
  • TDengine 数学函数 CEIL 用户手册
  • 石家庄好用的招聘网站做网站网站会被判多久
  • 北京平台网站建设代运营公司介绍
  • AI编程作品:Android 极简秒表应用
  • 网络五子棋对战游戏测试报告
  • html做网站的原则自建站排名
  • 互联网彩票网站开发珠海seo关键词排名
  • springboot095交通事故档案管理系统lgl(源码+部署说明+演示视频+源码介绍+lw)
  • 新郑郑州网站建设铭讯网站建设
  • 在next项目中使用iconfont图标方法
  • 重新定义AI编程协作:深入解析Claude Code多智能体系统架
  • 深入解析如何高效处理PDF?
  • uniapp运行微信小程序uni为什么是undefined
  • 2100AI智能生活(下)
  • 什么是后端开发-常见问题
  • 产品做优化好还是超级网站好WordPress来应力