包 | 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):void
exceedsMaxError | 属性 |
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):void
lowerThanMinError | 属性 |
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