关于flex自带的表单验证
下面说一下我理解后的用法吧。仅仅是个记录啦……-。-貌似没什么技术含量。
首先,给validator起个id不用多说啦;
required 是个boolean类型的值,大致的意思是说,验证的这个值是不是必须的(这不是废话嘛?不是必须的,我干嘛要验证……)好吧,设置为true;
requiredFieldError 这个东西很好用,就是错误提示框内的文字描述。一般时候默认的都是英文的,告诉你"This field is required."-。-我英文不好,还是改成中文的吧;
source 字面理解是源的意思是吧……它是说,你要验证哪个组件,敲入这个组件的id就可以了;
property 很有用的东西,因为我linksetname是个TextInput,那么我验证的就是它里面的文字内容,也就是属于text类型了;
trigger 触发器,是指,你要让谁来触发这个验证,这个值是你触发组件的id,我的触发器affirm是个button;
triggerEvent 这个值的意思是你要在什么事件下来触发这个验证,我的affirm是个button,所以我希望它在点击(click)的时候来触发这个验证。
到此,一个简单的文本框是否输入文字的验证OK。
但是,我的页面不光只有文本框而已,有一个伟大的datagrid,我希望它能对datagrid里面是否有值也能进行判断,于是,就想到,在对 datagrid进行验证的时候将property 的值改为dataprovide,对datagrid的数据源进行验证,如果为空的情况下,就提示,datagrid里面的数据为空。如下图:
<mx:Validator id="addlinkValid" required="true"
requiredFieldError="必须要选择对应的链路信息"
source="{alreadyAddLink}" -->此处是datagrid的id
property="dataProvider" -->这是我要验证datagrid的dataprovide的意思
trigger="{affirm}" -->触发器还是确认按钮
triggerEvent="click"/>
相关文档:
<?xml version="1.0"?>
<!-- Simple example to demonstrate the ProgressBar control. -->
<!--
如何使用Flex ProgressBar
MyShareBook.cn 翻译
-->
<mx:Applic ......
Flex里面,DataGrid的column的width属性不接受百分比,只接受一个具体的像素值,所以,如果想按照比例来设置列宽需要费些周折。Google了一下,有两种方法可以做到: 第一种方法,不要设置width为百分比,而设置为一个小数,所有列的小数值的和必须为1。 <mx:DataGrid width="100%" height="100%" ......
传统的在Flex工程中添加Module的方法是:在FlashBuilder中右键工程目录->Porperties->Flex Modules, 然后就可以add/edit/remove需要的module了,
但问题 是无论添加多少module都要点击add按钮一个一个添加! 像我们的项目一个demo就用了好几十个module,一个一个添加可要烦死了
网上搜‘批量添加module&rsquo ......
丢失静默错误(SILENT ERROR)
在某些情形下,绑定操作似乎不能正常工作,此时你可能非常懊恼并且不知道如何进行处理。
由绑定表达式抛出的、或在绑定框架调用的绑定函数中出现的异常和错误可以被静默捕获。因此,你将不会看到运行时异常,而这在 Flash Player 的调试版本中是能够看到的。这时,不仅绑定操作不能工作,而 ......
原来是这样,
我一开始用的是flex_sdk_3.4.1.10084(Stable Builds),(由于sdk3.5有combobox的bug),但是在用RSL的时候,发现flash player 的AssetCache里就是没有swz,
原因是:我用的sdk是Stable Builds,它是没有swz的,
官网的解释是:
The Flex team dos not currently create signed versions of the major RSL ......