包 | spark.validators |
类 | public class NumberValidator |
继承 | NumberValidator NumberValidatorBase GlobalizationValidatorBase GlobalizationBase AdvancedStyleClient EventDispatcher Object |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
int
、uint
和 Number
对象的字符串。
该类使用 locale
样式以指定请求的区域设置 ID。
验证程序可以确保输入属于给定范围(由 minValue
和 maxValue
属性指定),是一个整数(由 domain
属性指定),是一个非负数(由 allowNegative
属性指定),正确指定负数和正数,以及不超过 fractionalDigits
的指定数字。验证程序通过使用 flash.globalization.NumberFormatter
设置默认属性值,因此区域设置特定的值由操作系统提供。
NumberValidator
类可以在 MXML 声明或 ActionScript 代码中使用。该类使用区域设置样式来指定 flash.globalization.NumberFormatter
类所需的、请求的区域设置 ID,并且具有可绑定的方法和属性。
The <spark:NumberValidator>
tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<s:NumberValidator Properties negativeNumberFormat="locale specified string or customized by user." negativeNumberFormatError="The negative format of the input number is incorrect." />
相关 API 元素
方法 | 由以下参数定义 | ||
---|---|---|---|
构造新的 NumberValidator 对象以根据给定区域设置的约定验证数字。 | NumberValidator | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
删除此组件实例的样式属性。 | AdvancedStyleClient | ||
将事件调度到事件流中。 | EventDispatcher | ||
为应用于该组件的类型选择器返回 CSSStyleDeclaration 对象数组,如果不存在则返回 null。 | AdvancedStyleClient | ||
[覆盖]
获取已在此组件的样式查找链中的某个位置设置过的样式属性。 | GlobalizationBase | ||
如果 currentCSSState 不为 null,则返回 true。 | AdvancedStyleClient | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
该类或扩展该类的类在 MXML 声明中使用时,调用 initialized 方法。 | AdvancedStyleClient | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
如果 cssState 与 currentCSSState 匹配,则返回 true。 | AdvancedStyleClient | ||
确定此实例与给定类型相同,还是属于给定类型的子类。 | AdvancedStyleClient | ||
将样式更改传播到此样式客户端实例的子项。 | AdvancedStyleClient | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置内部样式缓存值,以便 getStyle() 方法可以起作用。 | AdvancedStyleClient | ||
将 EffectManager 注册为每个效果事件的事件侦听器之一。 | AdvancedStyleClient | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
设置循环操作动态属性的可用性。 | Object | ||
对此组件实例设置样式属性。 | AdvancedStyleClient | ||
检测对样式属性的更改。 | AdvancedStyleClient | ||
首次初始化组件样式时,Flex 会调用 stylesInitialized() 方法。 | AdvancedStyleClient | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
执行验证并(可选)将结果通知给侦听器。 | GlobalizationValidatorBase | ||
[静态]
调用验证程序数组中的所有验证程序。 | GlobalizationValidatorBase | ||
用于从自定义验证函数内调用验证程序的方便方法。 | NumberValidator | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
negativeNumberFormat | 属性 |
negativeNumberFormat:uint
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
数值,用于指示负数的验证模式。此模式定义负号或圆括号相对于要验证的数值的数字部分的位置。
下表总结了可能的负数格式。在负数通过验证之后,负号将表示 negativeSymbol
属性的值,而“n”字符将表示数字值。
负数格式类型 | 格式 |
0 | (n) |
1 | -n |
2 | - n |
3 | n- |
4 | n - |
实际区域设置
和操作系统
。
此属性可用作数据绑定的源。修改此属性后,将调度 change
事件。
实现
public function get negativeNumberFormat():uint
public function set negativeNumberFormat(value:uint):void
引发
ArgumentError — 如果指定的值不介于 0 到 4 之间。
|
相关 API 元素
negativeNumberFormatError | 属性 |
negativeNumberFormatError:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
当所输入的数字的负数格式不符合由 negativeNumberFormat 属性指定的模式时将显示的错误消息。
默认值为 "The negative format of the input number is incorrect."。
此属性可用作数据绑定的源。修改此属性后,将调度 change
事件。
实现
public function get negativeNumberFormatError():String
public function set negativeNumberFormatError(value:String):void
NumberValidator | () | 构造函数 |
public function NumberValidator()
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
构造新的 NumberValidator 对象以根据给定区域设置的约定验证数字。
此类的区域设置由区域设置样式提供。可以使用下列方法来设置区域设置
样式:
-
调用
UIComponent
的addStyleClient
方法,从UIComponent
继承样式。 -
在 MXML 声明中使用该类,并从包含声明的文档中继承区域设置。
<fx:Declarations> <s:NumberValidator id="nv" /> </fx:Declarations>
-
使用 MXML 声明并在赋值列表中指定区域设置值。
<fx:Declarations> <s:NumberValidator id="nv_French_France" locale="fr_FR" /> </fx:Declarations>
-
调用
setStyle
方法。例如:nv.setStyle("locale", "fr-FR")
如果 locale
样式不是由以上方式之一设置的,则该类的实例会作为 StyleClient
添加至 topLevelApplication
中,并因此在调用 locale
从属属性 getter 或 locale
从属方法时,会从 topLevelApplication
对象中继承 locale
样式。
validateNumber | () | 方法 |
public function validateNumber(value:Object, baseField:String):Array
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
用于从自定义验证函数内调用验证程序的方便方法。每个标准 Flex 验证程序都有一个类似的方便方法。调用者必须检查在返回的数组中的 ValidationResult
对象以获取验证状态。
参数
value:Object — 要验证的数字字符串。
| |
baseField:String — 在 value 对象中指定的子字段的文本表示形式。例如,如果 value 参数指定 value.number,则 baseField 值为“number”。
|
Array — ValidationResult 对象的数组 ,验证程序检查的每个字段都有一个 ValidationResult 对象。
|
相关 API 元素
<?xml version="1.0" encoding="utf-8"?> <!-- Sample program for spark.formatters.NumberValidator --> <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"> <fx:Declarations> <s:NumberValidator id="numberValidator" source='{inputNumber}' property="text" trigger='{validateBtn}' triggerEvent="click" /> <s:NumberFormatter id="numberFormatter" useGrouping="true"/> </fx:Declarations> <fx:Script> <![CDATA[ [Bindable] private var number:Number = 123456789.12; ]]> </fx:Script> <mx:Form> <mx:FormItem label="Input Locale ID Name"> <mx:HBox> <s:TextInput id="inputLocaleIDName" text="en-US"/> <!-- Upon button click, sets the locale style on the document UI component. The formatter will inherit this style. --> <s:Button click="setStyle('locale', inputLocaleIDName.text);" label="Apply"/> </mx:HBox> <mx:Text text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/> </mx:FormItem> <mx:FormItem label="Allow Negative"> <mx:CheckBox id="alowNegative" selected="true" change="numberValidator.allowNegative = alowNegative.selected"/> </mx:FormItem> <mx:FormItem label="Fractional Digits"> <mx:TextInput id="fractionalDigits" text='{numberValidator.fractionalDigits}' change="numberFormatter.fractionalDigits = numberValidator.fractionalDigits = Number(fractionalDigits.text)"/> </mx:FormItem> <mx:FormItem label="Actual Locale ID Name"> <mx:Text text="{numberValidator.actualLocaleIDName}"/> </mx:FormItem> <mx:FormItem label="Input number" > <mx:HBox> <mx:TextInput id="inputNumber" /> <mx:Button id="validateBtn" label="Validate" /> </mx:HBox> </mx:FormItem> <mx:FormItem label="Example number"> <mx:Text text="{numberFormatter.format(123456789.12)}"/> </mx:FormItem> </mx:Form> </s:Application>
Tue Jun 12 2018, 11:04 AM Z