表单的验证有时真的很头疼,在html中可以使用js但是flex提供的一些原生的验证支持,例如可以限制输入框的输入字符数或者屏蔽用户输入某些字符,如果还不够自己可以写正则来判断,我自己整理了一点flex的验证,代码如下。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<mx:StringValidator source="{jssz}" requiredFieldError="必须输入数字" property="text" minLength="2" maxLength="7" tooLongError="必须少于或者等于6位数" tooShortError="必须大于或者等于2位数">
</mx:StringValidator>
</fx:Declarations>
<s:Label x="10" y="25" text="只允许输入数字和加减号"/>
<s:TextInput id="num" x="150" y="25" restrict="0-9\-\+"/>
<s:Label x="60" y="77" text="只允许输入汉字"/>
<s:TextInput id="hz" x="150" y="66" restrict="\u4e00-\u9fa5"/>
<s:Label x="43" y="106" text="不能超过10个字符"/>
<s:TextInput id="password" x="150" y="106" maxChars="10"/>
<s:Label x="72" y="147" text="数字范围检查"/>
<s:TextInput id="check" x="150" y="137" maxChars="10" />
<s:Label x="72" y="204" text="错误提示"/>
<mx:TextInput id="jssz" x="150" y="192" restrict="0-9"/>
</s:Application>
有时觉得flex很难但是有时又很简单