| 包 | mx.validators |
| 类 | public class NumberValidator |
| 继承 | NumberValidator Validator EventDispatcher Object |
| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 3 |
| 运行时版本: | Flash Player 9, AIR 1.1 |
![]() | 从 Flex 4.5 开始,Adobe 建议您使用 spark.validators.NumberValidator 类来替代此类。 |
NumberValidator 类确保字符串表示有效数字。它可确保输入处于给定范围(由
minValue 和 maxValue 指定)内,是整数(由 domain 指定),为非负值(由 allowNegative 指定)并且不超过指定的 precision。验证程序可正确验证带格式的数字(例如,“12,345.67”),并且您可以自定义 thousandsSeparator 和 decimalSeparator 属性以实现国际化。
MXML 语法
隐藏 MXML 语法The <mx:NumberValidator> tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<mx:NumberValidator
allowNegative="true|false"
decimalPointCountError="The decimal separator can only occur once."
decimalSeparator="."
domain="real|int"
exceedsMaxError="The number entered is too large."
integerError="The number must be an integer."
invalidCharError="The input contains invalid characters."
invalidFormatCharsError="One of the formatting parameters is invalid."
lowerThanMinError="The amount entered is too small."
maxValue="NaN"
minValue="NaN"
negativeError="The amount may not be negative."
precision="-1"
precisionError="The amount entered has too many digits beyond the decimal point."
separationError="The thousands separator must be followed by three digits."
thousandsSeparator=","
/>
公共属性
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
| allowNegative : Object
指定是否允许为负数。 | NumberValidator | ||
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| decimalPointCountError : String
多次出现小数分隔符时的错误消息。 | NumberValidator | ||
| decimalSeparator : String
用于分隔数字的整数部分和小数部分的字符。 | NumberValidator | ||
| domain : String
要验证的数字类型。 | NumberValidator | ||
![]() | enabled : Boolean
将此值设置为 false 将停止验证程序执行验证操作。 | Validator | |
| exceedsMaxError : String
值超过 maxValue 属性时的错误消息。 | NumberValidator | ||
| integerError : String
数字必须为整数(如 domain 属性所定义)时的错误消息。 | NumberValidator | ||
| invalidCharError : String
值包含无效字符时的错误消息。 | NumberValidator | ||
| invalidFormatCharsError : String
值包含无效格式字符(这意味着它包含数字或负号 (-) 作为分隔符,或者它包含两个或多个连续分隔符)时的错误消息。 | NumberValidator | ||
![]() | listener : Object
指定验证侦听器。 | Validator | |
| lowerThanMinError : String
值小于 minValue 时的错误消息。 | NumberValidator | ||
| maxValue : Object
有效数字的最大值。 | NumberValidator | ||
| minValue : Object
有效数字的最小值。 | NumberValidator | ||
| negativeError : String
值为负且 allowNegative 属性为 false 时的错误消息。 | NumberValidator | ||
| precision : Object
小数点后允许的最大位数。 | NumberValidator | ||
| precisionError : String
值的精度超过 precision 属性所定义值时的错误消息。 | NumberValidator | ||
![]() | property : String
一个字符串,用于指定包含要验证的值的 source 对象的属性名称。 | Validator | |
![]() | required : Boolean = true
如果为 true,则指定缺少值或空值将导致验证错误。 | Validator | |
![]() | requiredFieldError : String
缺少值和 required 属性为 true 时的错误消息。 | Validator | |
| separationError : String
千分位分隔符所处位置不当时的错误消息。 | NumberValidator | ||
![]() | source : Object
指定包含要验证的属性的对象。 | Validator | |
| thousandsSeparator : String
用于在数字的整数部分中分隔千分位的字符。 | NumberValidator | ||
![]() | trigger : IEventDispatcher
指定生成触发验证程序的组件。 | Validator | |
![]() | triggerEvent : String
指定触发验证的事件。 | Validator | |
受保护的属性
公共方法
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
构造函数。 | NumberValidator | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | |
![]() |
将事件调度到事件流中。 | EventDispatcher | |
![]() |
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | |
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
如果 Validator 是使用 MXML 标签创建的,则由 MXML 编译器自动调用。 | Validator | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
![]() |
执行验证并(可选)将结果通知给侦听器。 | Validator | |
![]() | [静态]
调用验证程序数组中的所有验证程序。 | Validator | |
[静态]
用于从自定义验证函数内调用验证程序的方便方法。 | NumberValidator | ||
![]() |
返回指定对象的原始值。 | Object | |
![]() |
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher | |
受保护的方法
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
![]() |
为从验证程序调度的有效和无效事件设置所有侦听器。 | Validator | |
[覆盖]
覆盖基类 doValidation() 方法以验证数字。 | NumberValidator | ||
![]() |
返回要验证的对象。 | Validator | |
![]() |
从错误结果数组返回 ValidationResultEvent。 | Validator | |
![]() |
如果值不为 null,则返回 true。 | Validator | |
![]() |
断开从验证程序调度的有效和无效事件的所有侦听器的连接。 | Validator | |
![]() |
构造 Validator 后,每当 ResourceManager 又调度一个“change”事件以指示已通过某种方式更改了本地化资源时,将会调用此方法。 | Validator | |
受保护的常量
属性详细信息
allowNegative | 属性 |
decimalPointCountError | 属性 |
decimalSeparator | 属性 |
domain | 属性 |
domain:String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 3 |
| 运行时版本: | Flash Player 9, AIR 1.1 |
要验证的数字类型。允许的值为 "real" 和 "int"。
在 ActionScript 中,您可以使用下列常量来设置此属性:NumberValidatorDomainType.REAL 或 NumberValidatorDomainType.INT。
默认值为 "real"。
实现
public function get domain():String public function set domain(value:String):voidexceedsMaxError | 属性 |
integerError | 属性 |
invalidCharError | 属性 |
invalidFormatCharsError | 属性 |
invalidFormatCharsError:String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 3 |
| 运行时版本: | Flash Player 9, AIR 1.1 |
值包含无效格式字符(这意味着它包含数字或负号 (-) 作为分隔符,或者它包含两个或多个连续分隔符)时的错误消息。
默认值为 "One of the formatting parameters is invalid."。
实现
public function get invalidFormatCharsError():String public function set invalidFormatCharsError(value:String):voidlowerThanMinError | 属性 |
maxValue | 属性 |
minValue | 属性 |
negativeError | 属性 |
precision | 属性 |
precisionError | 属性 |
separationError | 属性 |
thousandsSeparator | 属性 |
构造函数详细信息
NumberValidator | () | 构造函数 |
public function NumberValidator()| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 3 |
| 运行时版本: | Flash Player 9, AIR 1.1 |
构造函数。
方法详细信息
doValidation | () | 方法 |
override protected function doValidation(value:Object):Array| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 3 |
| 运行时版本: | Flash Player 9, AIR 1.1 |
覆盖基类 doValidation() 方法以验证数字。
不要直接调用此方法;Flex 会在执行验证的过程中调用它。如果创建自定义 Validator 类,则必须实现此方法。
参数
value:Object — 要验证的对象。
|
Array — ValidationResult 对象的数组,验证程序检查的每个字段都有一个 ValidationResult 对象。
|
validateNumber | () | 方法 |
public static function validateNumber(validator:NumberValidator, value:Object, baseField:String):Array| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 3 |
| 运行时版本: | Flash Player 9, AIR 1.1 |
用于从自定义验证函数内调用验证程序的方便方法。每个标准 Flex 验证程序都有一个类似的方便方法。
参数
validator:NumberValidator — NumberValidator 实例。
| |
value:Object — 要验证的字段。
| |
baseField:String — 在 value 参数中指定的子字段的文本表示形式。例如,如果 value 参数指定 value.number,则 baseField 值为“number”。
|
Array — ValidationResult 对象的数组,验证程序检查的每个字段都有一个 ValidationResult 对象。
|
相关 API 元素
示例 如何使用本示例
NumberValidatorExample.mxml
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the 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:Script>
import mx.controls.Alert;
</fx:Script>
<fx:Declarations>
<mx:NumberValidator source="{age}" property="text" integerError="Enter Integer value"
minValue="18" maxValue="50" domain="int"
trigger="{myButton}" triggerEvent="click"
valid="Alert.show('Validation Succeeded!');"
invalid="Alert.show('Validation failed!');"/>
</fx:Declarations>
<s:Panel title="NumberValidator Example"
width="75%" height="75%"
horizontalCenter="0" verticalCenter="0">
<mx:Form left="10" right="10" top="10" bottom="10">
<mx:FormItem label="Enter an age between 18 and 50:">
<s:TextInput id="age" width="100%"/>
</mx:FormItem>
<mx:FormItem >
<s:Button id="myButton" label="Validate" />
</mx:FormItem>
</mx:Form>
</s:Panel>
</s:Application>
Tue Jun 12 2018, 11:04 AM Z

显示 MXML 语法