- 浏览: 576199 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (237)
- Java (48)
- Flex3 (43)
- Spring (7)
- Hibernate (7)
- 杂文 (2)
- 设计模式 (3)
- 数据库相关 (32)
- Eclipse开发环境 (10)
- C/C++ (1)
- 随笔 (1)
- 生活点滴 (2)
- Flex4 (3)
- Oracle (6)
- SQLServer (6)
- Degrafa (1)
- ActionScript (2)
- JavaScript (11)
- MySQL (8)
- 开源项目 (4)
- AspectJ (0)
- Spring Security (1)
- SSO (0)
- PV3D (2)
- JBPM (1)
- JBoss (0)
- Tomcat (5)
- Struts (1)
- WebService (2)
- 算法 (1)
- 数据结构 (1)
- POI (2)
- Lucene (2)
- 其他 (3)
- Blazeds (2)
- Alternative 3D (0)
- Ibatis (3)
- Intellij (3)
- freemaker (0)
- Maven (5)
- web (4)
- Eclipse (1)
- velocity (1)
- Linux (7)
- CXF (3)
- html (2)
- JVM (1)
最新评论
-
jpsb:
多谢楼主,问题解决,主要就是svn版本不同导致的
Eclipse 导入本地svn项目的问题 -
yycdaizi:
lanmolsz 写道无法同意楼主的说法,楼主所谓的晚捕捉就是 ...
Java异常处理原则 -
lanmolsz:
无法同意楼主的说法,楼主所谓的晚捕捉就是典型的让异常控制程序的 ...
Java异常处理原则 -
cici_new_1987:
...
Java异常处理原则 -
雁行:
倒是怀疑这个功能来着
Eclipse 导入本地svn项目的问题
在数据库编辑模块的代码中通常在增加一条记录时,都会碰到数据验证的问题,有时候需要多个字段的验证,才能确保符合存储条件,在网上查看了一些联合验证的例子,并结合自己的实际情况写了一个联合验证的功能,基本上分为两个类,一个是MultipleValidaotr ,它继承自 EventDisaptcher,其中含有一个private属性的Array用来存放多个验证类Vlidator。还有个继承自Textinput的ValidatorTextinput ,在它的类中加入了一个Validator。其目标指向ValodatorTextinput本身,这个输入框就添加了验证非空功能。一旦某个验证框通过,则将其加入MultipleValidaotr,并标识为验证为通过,这样等到所有的验证框都通过验证之后来触发事件。在主体函数里写验证通过和不通过的处理函数来触发验证是否通过的执行代码。
具体代码如下:
1.带有非空验证的TextInput组件:
public class ValidatorTextInput extends TextInput { public function ValidatorTextInput() { super(); this.Validate.source=this; this.Validate.property="text"; this.Validate.required=true; this.Validate.requiredFieldError="不能为空"; } [Bindable] private var _validate:Validator=new Validator(); public function set Validate(_validate:Validator):void { this._validate=_validate; } public function get Validate():Validator { return this._validate; } }
2.联合验证类MultipleValidaotr:
[Bindable] public class MultipleValidator extends EventDispatcher { private var _passedCallBack : Function; private var _failedCallBack : Function; private var validators : ArrayCollection = new ArrayCollection(); private var voteMap : Object = new Object(); public function MultipleValidator( _validatorInitializedValue : Boolean = false ) { super(); validators.removeAll(); } private function onChange(event:Event):void{ dispatchEvent(new Event(Event.CHANGE)); } public function addValidator( validator : Validator) : void { if(!validators.contains(validator)){ validator.trigger=this; validator.triggerEvent=Event.CHANGE; validator.source.addEventListener(FlexEvent.VALUE_COMMIT,onChange); validator.source.addEventListener(Event.CHANGE,onChange); validator.addEventListener(ValidationResultEvent.INVALID,function(event:ValidationResultEvent):void{ voteMap[event.target.source]=false; _failedCallBack(); }); validator.addEventListener(ValidationResultEvent.VALID,function(event:ValidationResultEvent):void{ voteMap[event.target.source]=true; refresh(); }); validators.addItem(validator); } } public function addValidators( _validators : Array ) : void { if(_validators==null){ return; } for each ( var validator : Validator in _validators){ addValidator(validator); } dispatchEvent(new Event(Event.CHANGE));//刚进入界面就进行一次验证,使用户知道哪些必需填写 } public function removeValidator(validator:Validator):void{ delete voteMap[validator.source]; if(validators.contains(validator)){ validator.source.removeEventListener(FlexEvent.VALUE_COMMIT,onChange); validator.source.removeEventListener(Event.CHANGE,onChange); validators.removeItemAt(validators.getItemIndex(validator)); } refresh(); } public function set passedCallBack( _passedCallBack : Function ) : void { this._passedCallBack = _passedCallBack; } public function set failedCallBack( _failedCallBack : Function ) : void { this._failedCallBack = _failedCallBack; } public function refresh():void{ for ( var index : String in voteMap ) { if ( voteMap[index] == false ) { _failedCallBack(); return; } } _passedCallBack(); } }
3.调用验证功能的代码:
public function AddMultipleValidator(e:FlexEvent):void { multiplevalidator.failedCallBack=function():void{ btnOK.enabled=false; }; multiplevalidator.passedCallBack=function():void{ btnOK.enabled=true; }; multiplevalidator.addValidators(ValidateInput(this)); } private var multiplevalidator:MultipleValidator=new MultipleValidator(false); public function ValidateInput(container:Container):Array { var validatorArray:Array=[]; var childs:Array=container.getChildren(); for each(var child:UIComponent in childs) { if(child is ValidatorTextInput) { validatorArray.push((child as ValidatorTextInput).Validate); } else if(child is ValidatorDateField) { validatorArray.push((child as ValidatorDateField).Validate); } } return validatorArray; }
- MultiPleValidator.rar (1.6 KB)
- 下载次数: 65
发表评论
-
AIR html 内存泄露
2010-07-15 14:21 1694众所周知,Flex虽然在客户体验方面独领风骚,但是其 ... -
Flex 内部命名空间
2010-05-11 13:27 1298使用方式如下: //引用命名空间 im ... -
AIR开发下的ALert窗口无法弹出
2010-05-05 10:55 1511最近在从事AIR编程。AIR开发和之前做的RIA开发还是 ... -
Flex调用JS代码
2010-03-03 11:23 5251在Flex开发中有时候需要调用JS代码,例如关闭浏览 ... -
Flex设置浏览器标题
2010-03-03 11:17 3013在Flex下设置页面浏览器标题Title工有两种方式 ... -
Flex版在线PhotoShop(2个)
2010-03-02 13:47 2144刚刚看到了一个Flex版本的Online PhotoShop工 ... -
Degrafa渲染DataGrid
2009-12-22 09:58 2080在DataGrid中可以利用多种组件实现Column ... -
Flex3D 视屏网站
2009-12-21 08:28 1143http://www.hboimagine.com/#/the ... -
多种DataGrid ItemRender实现
2009-12-10 15:00 2072在Flex开发中,可能在展示数据方面,DataGr ... -
Flex RSL(Runtime Shared Library)
2009-12-10 08:03 1748RSL是 Runtime Shared Lib ... -
Degrafa(Beta3)源码
2009-12-08 17:01 1209Degrafa源码共享下载,见附件。 -
Flex 动态换肤
2009-12-08 16:57 1800可能很多人在写Flex程序的时候为了界面的美化,都会用 ... -
Flex Sound Effect 异常
2009-12-08 13:14 1135早上在写Flex代码的时候,想放首歌听听,不知道什么原 ... -
推荐一个不错的Flex网站
2009-12-07 15:51 1245今天看到了一个相当不错的关于Flex/Flash开发的英文站点 ... -
Flex+Java文件上传
2009-12-07 10:14 4417在研究Flex DataGrid导入exc ... -
Flex DataGrid导入Excel(一)
2009-12-02 18:46 5561这篇Blog只是写实现思路。 记得刚毕业 ... -
Flex版FusionCharts图形组件
2009-11-27 08:34 3833在Flex图形领域,FusionCharts为广 ... -
DataGrid导出Excel
2009-11-24 16:54 6387在Adobe的RIA开发环境下,flex并没有导出 ... -
Flex高级表格(Mecgrid)
2009-11-20 13:52 4381最近在考虑DataGrid单元格定位的问题时,收集到了 ... -
DataGrid单元格定位
2009-11-20 13:39 4834在Flex项目开发中,相信很多人会用到DataG ...
相关推荐
对于多个表单字段的联合验证,可以使用Form或ValidatorGroup来实现。Form组件会自动对所有子组件进行验证,而ValidatorGroup允许自定义验证顺序和逻辑。 7. **错误显示**: Flex提供了ErrorTip和ErrorMessage组件...
开发者可以使用Flex SDK的命令行工具或IDE的调试功能,对Flex和Java代码进行联合调试。 总的来说,Flex4与Java的结合使得开发者可以充分利用两者的优点,创建出既美观又功能强大的Web应用。对于初学者,理解这两个...
在IT行业中,Flex、Java和MySQL是三种非常重要的技术,它们常常被联合使用来构建高效、用户友好的Web应用程序。本实例将详细讲解如何利用这些技术进行开发。 Flex是一种基于Adobe AIR的应用程序开发框架,主要用于...
8. **调试与测试**: 开发过程中,开发者可能需要使用如Flex Builder或IntelliJ IDEA等IDE的调试工具,对Flex客户端和Java服务端进行联合调试,以确保通信的正确性。 9. **性能优化**: 优化Flex与Java服务端的通信...
### Flex与Java联合连接数据库详解 #### 一、引言 在现代Web开发中,Flex是一种流行的客户端技术,用于构建富互联网应用(RIA)。然而,Flex本身并不具备直接访问数据库的功能,它需要通过中间层服务如HTTP Service...
安装后,需要在MyEclipse中配置Tomcat服务器,以便进行Java和Flex的联合开发。 接着,安装Adobe Flash Builder 4 Plugin。这个插件使得MyEclipse可以支持Flex和BlazeDS的开发。在安装过程中,注意避免路径中出现...
通过阅读《富互联网应用程序与Adobe Flex Java开发》,开发者不仅可以掌握Flex和Java的联合开发技能,还能了解到如何构建高效、可扩展的RIA解决方案,从而在Web开发领域取得专业进步。这本书是Flex和Java开发者案头...
总的来说,这个项目展示了如何利用Flex和C#的强强联合,创建一个具备高级UI和高效异步处理能力的文件上传工具。在实际应用中,这样的工具对于提升网站或应用的用户体验至关重要,特别是在处理大量文件上传场景下。
此外,通过QuartusⅡ和Matlab软件的联合仿真验证了设计的正确性和有效性。文中特别强调了模块中的相位累加器对于提高系统的频率分辨率和实现快速频率切换的重要性。 #### DDS的工作原理 直接数字频率合成器(DDS)...
通信约定是指 FLEX 协议中关于数据传输和通信的约定,包括数据加密、身份验证、访问控制等方面的安全机制设计和实现。 1.2.3 安全约定 安全约定是指 FLEX 协议中关于数据安全和隐私保护的约定,包括数据加密、访问...
DDS的设计采用了VHDL语言,并通过QuartusⅡ与MATLAB软件对设计进行了联合仿真,验证了设计的正确性。 DDS的频率合成原理可以用图1所示。DDS的输出频率可以通过改变频率控制字来实现。DDS的频率控制字是DDS的核心...
它根据.y或.bison文件(包含语法规则的定义)生成C或C++代码,用于解析由lex产生的词法单元流,验证其是否符合预定义的语法规则。如果符合,yacc生成抽象语法树(AST),这是源代码结构的抽象表示,可用于中间代码...
该设计可以与QuartusⅡ和Matlab软件进行联合仿真,以验证设计的正确性。 DDS的组成部分包括相位累加器、函数表ROM存储器、D/A转换器及低通滤波器。 DDS的工作原理是,相位累加器在时钟的作用下,以频率控制字为步进...
对于FPGA的设计与开发,下载线是必不可少的工具之一,它负责将设计好的电路图通过软件下载到FPGA芯片上,实现电路功能的验证与测试。然而,市面上的FPGA下载线往往价格不菲,且有时难以快速获取。因此,掌握FPGA下载...
通过建立刚体模型、生成柔性体的模态中性文件、建立刚柔结合的仿真模型,然后进行动力学仿真,最后对柔性体进行应力应变分析,以验证设计方案的可行性并指导实际设计的改进。 综合以上内容,虚拟样机软件与CAD和CAE...
- 使用Flex和Bison联合设计的解释器能处理更复杂的运算,如括号、优先级、函数调用等。 - 设计方案应考虑错误处理机制,以确保输入的合法性。 4. **目标4:软件工程方法** - 编译器的开发需要遵循软件工程的方法...
### ADAMS_Simulink柔性机械与控制系统仿真的关键技术点 ...此外,通过实际案例的应用,可以验证所提出的联合仿真方法的有效性和实用性,为未来的柔性机械臂控制系统设计提供了新的思路和技术手段。
Lex和Yacc的联合使用是编译器设计中的一项基础技术。具体使用流程大致如下:首先利用Lex定义词法规则,生成词法分析器;然后,通过Yacc定义语法规则,生成语法分析器;最后将二者生成的代码通过编译器链接成完整的...
同时,它们还使用Synergy和Synplify综合器分别针对Xilinx和Altera的FPGA进行了综合,并在Xilinx 3098和Altera Flex10K10上完成了布局布线和门级仿真,确保了设计的可行性和可靠性。 设计RISC CPU的目的不仅仅是展示...
4. **结构体与联合**:C语言支持结构体和联合,这需要在语义分析阶段进行特殊处理,以确保正确地访问成员。 三、构建C语言编译器的关键步骤 1. **设计词法分析器**:利用正则表达式或自动生成工具(如Flex)定义...