用于 Adobe® Flash® Platform 的 ActionScript® 3.0 参考
主页  |  隐藏包列表和类列表 |   |   |  新增内容  |  索引  |  附录  |  为什么显示为英语?
过滤条件: 正在从服务器检索数据...
正在从服务器检索数据...
mx.validators 

NumberValidator  - AS3 Flex

mx.validators
public class NumberValidator
继承NumberValidator Inheritance Validator Inheritance EventDispatcher Inheritance Object

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1


从 Flex 4.5 开始,Adobe 建议您使用 spark.validators.NumberValidator 类来替代此类。

NumberValidator 类确保字符串表示有效数字。它可确保输入处于给定范围(由 minValuemaxValue 指定)内,是整数(由 domain 指定),为非负值(由 allowNegative 指定)并且不超过指定的 precision。验证程序可正确验证带格式的数字(例如,“12,345.67”),并且您可以自定义 thousandsSeparatordecimalSeparator 属性以实现国际化。

MXML 语法expanded隐藏 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
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  decimalPointCountError : String
多次出现小数分隔符时的错误消息。
NumberValidator
  decimalSeparator : String
用于分隔数字的整数部分和小数部分的字符。
NumberValidator
  domain : String
要验证的数字类型。
NumberValidator
 Inheritedenabled : Boolean
将此值设置为 false 将停止验证程序执行验证操作。
Validator
  exceedsMaxError : String
值超过 maxValue 属性时的错误消息。
NumberValidator
  integerError : String
数字必须为整数(如 domain 属性所定义)时的错误消息。
NumberValidator
  invalidCharError : String
值包含无效字符时的错误消息。
NumberValidator
  invalidFormatCharsError : String
值包含无效格式字符(这意味着它包含数字或负号 (-) 作为分隔符,或者它包含两个或多个连续分隔符)时的错误消息。
NumberValidator
 Inheritedlistener : Object
指定验证侦听器。
Validator
  lowerThanMinError : String
值小于 minValue 时的错误消息。
NumberValidator
  maxValue : Object
有效数字的最大值。
NumberValidator
  minValue : Object
有效数字的最小值。
NumberValidator
  negativeError : String
值为负且 allowNegative 属性为 false 时的错误消息。
NumberValidator
  precision : Object
小数点后允许的最大位数。
NumberValidator
  precisionError : String
值的精度超过 precision 属性所定义值时的错误消息。
NumberValidator
 Inheritedproperty : String
一个字符串,用于指定包含要验证的值的 source 对象的属性名称。
Validator
 Inheritedrequired : Boolean = true
如果为 true,则指定缺少值或空值将导致验证错误。
Validator
 InheritedrequiredFieldError : String
缺少值和 required 属性为 true 时的错误消息。
Validator
  separationError : String
千分位分隔符所处位置不当时的错误消息。
NumberValidator
 Inheritedsource : Object
指定包含要验证的属性的对象。
Validator
  thousandsSeparator : String
用于在数字的整数部分中分隔千分位的字符。
NumberValidator
 Inheritedtrigger : IEventDispatcher
指定生成触发验证程序的组件。
Validator
 InheritedtriggerEvent : String
指定触发验证的事件。
Validator
受保护的属性
 属性由以下参数定义
 InheritedactualListeners : Array
[只读] 包含侦听器对象(如果有)的数组或源对象。
Validator
 InheritedactualTrigger : IEventDispatcher
[只读] 包含触发器对象(如果有)或源对象。
Validator
 InheritedresourceManager : IResourceManager
[只读] 对管理所有应用程序本地化资源的对象的引用。
Validator
 InheritedsubFields : Array
一个字符串数组,其中包含传递到 validate() 方法的 value 对象中所含属性的名称。
Validator
公共方法
 方法由以下参数定义
  
构造函数。
NumberValidator
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
 Inherited
将事件调度到事件流中。
EventDispatcher
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
表示对象是否已经定义了指定的属性。
Object
 Inherited
如果 Validator 是使用 MXML 标签创建的,则由 MXML 编译器自动调用。
Validator
 Inherited
表示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
表示指定的属性是否存在、是否可枚举。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent
执行验证并(可选)将结果通知给侦听器。
Validator
 Inherited
validateAll(validators:Array):Array
[静态] 调用验证程序数组中的所有验证程序。
Validator
  
validateNumber(validator:NumberValidator, value:Object, baseField:String):Array
[静态] 用于从自定义验证函数内调用验证程序的方便方法。
NumberValidator
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。
EventDispatcher
受保护的方法
 方法由以下参数定义
 Inherited
为从验证程序调度的有效和无效事件设置所有侦听器。
Validator
  
[覆盖] 覆盖基类 doValidation() 方法以验证数字。
NumberValidator
 Inherited
返回要验证的对象。
Validator
 Inherited
从错误结果数组返回 ValidationResultEvent。
Validator
 Inherited
如果值不为 null,则返回 true。
Validator
 Inherited
断开从验证程序调度的有效和无效事件的所有侦听器的连接。
Validator
 Inherited
构造 Validator 后,每当 ResourceManager 又调度一个“change”事件以指示已通过某种方式更改了本地化资源时,将会调用此方法。
Validator
事件
 事件 摘要 由以下参数定义
 Inherited[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。EventDispatcher
 Inherited[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。EventDispatcher
 Inherited在验证失败时调度。Validator
 Inherited在验证成功时调度。Validator
受保护的常量
 常量由以下参数定义
属性详细信息

allowNegative

属性
allowNegative:Object

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

指定是否允许为负数。有效值为 truefalse

默认值为 true。



实现
    public function get allowNegative():Object
    public function set allowNegative(value:Object):void

decimalPointCountError

属性 
decimalPointCountError:String

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

多次出现小数分隔符时的错误消息。

默认值为 "The decimal separator can occur only once."。



实现
    public function get decimalPointCountError():String
    public function set decimalPointCountError(value:String):void

decimalSeparator

属性 
decimalSeparator:String

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

用于分隔数字的整数部分和小数部分的字符。不能是数字且必须有别于 thousandsSeparator

默认值为 "."。



实现
    public function get decimalSeparator():String
    public function set decimalSeparator(value:String):void

domain

属性 
domain:String

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

要验证的数字类型。允许的值为 "real""int"

在 ActionScript 中,您可以使用下列常量来设置此属性:NumberValidatorDomainType.REALNumberValidatorDomainType.INT

默认值为 "real"。



实现
    public function get domain():String
    public function set domain(value:String):void

exceedsMaxError

属性 
exceedsMaxError:String

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

值超过 maxValue 属性时的错误消息。

默认值为 "The number entered is too large."。



实现
    public function get exceedsMaxError():String
    public function set exceedsMaxError(value:String):void

integerError

属性 
integerError:String

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

数字必须为整数(如 domain 属性所定义)时的错误消息。

默认值为 "The number must be an integer."。



实现
    public function get integerError():String
    public function set integerError(value:String):void

invalidCharError

属性 
invalidCharError:String

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

值包含无效字符时的错误消息。

默认值为 The input contains invalid characters."。



实现
    public function get invalidCharError():String
    public function set invalidCharError(value:String):void

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):void

lowerThanMinError

属性 
lowerThanMinError:String

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

值小于 minValue 时的错误消息。

默认值为 "The amount entered is too small."。



实现
    public function get lowerThanMinError():String
    public function set lowerThanMinError(value:String):void

maxValue

属性 
maxValue:Object

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

有效数字的最大值。值为 NaN 表示没有最大值。

默认值为 NaN。



实现
    public function get maxValue():Object
    public function set maxValue(value:Object):void

minValue

属性 
minValue:Object

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

有效数字的最小值。值为 NaN 表示没有最小值。

默认值为 NaN。



实现
    public function get minValue():Object
    public function set minValue(value:Object):void

negativeError

属性 
negativeError:String

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

值为负且 allowNegative 属性为 false 时的错误消息。

默认值为 "The amount may not be negative."。



实现
    public function get negativeError():String
    public function set negativeError(value:String):void

precision

属性 
precision:Object

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

小数点后允许的最大位数。可以为任何非负整数。注意:设置为 0 与将 domain 设置为 "int" 效果相同。值为 -1 表示忽略此属性。

默认值为 -1。



实现
    public function get precision():Object
    public function set precision(value:Object):void

precisionError

属性 
precisionError:String

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

值的精度超过 precision 属性所定义值时的错误消息。

默认值为 "The amount entered has too many digits beyond the decimal point."。



实现
    public function get precisionError():String
    public function set precisionError(value:String):void

separationError

属性 
separationError:String

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

千分位分隔符所处位置不当时的错误消息。

默认值为 "The thousands separator must be followed by three digits."。



实现
    public function get separationError():String
    public function set separationError(value:String):void

thousandsSeparator

属性 
thousandsSeparator:String

语言版本: ActionScript 3.0
产品版本: Flex 3
运行时版本: Flash Player 9, AIR 1.1

用于在数字的整数部分中分隔千分位的字符。不能是数字且必须有别于 decimalSeparator

默认值为 ","。



实现
    public function get thousandsSeparator():String
    public function set thousandsSeparator(value:String):void
构造函数详细信息

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>




[ X ]为什么显示为英语?
《ActionScript 3.0 参考》中的内容以英语显示

《ActionScript 3.0 参考》中的部分内容未翻译成所有语言。当某个语言元素未翻译时,将显示为英语。例如,ga.controls.HelpBox 类未翻译成任何语言。因此在简体中文版的参考中,ga.controls.HelpBox 类显示为英语。