Packagemx.validators
Classpublic class NumberValidator
InheritanceNumberValidator Inheritance Validator Inheritance flash.events.EventDispatcher

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1


Starting with Flex 4.5, Apache recommends that you use the spark.validators.NumberValidator class as an alternative to this class.

The NumberValidator class ensures that a String represents a valid number. It can ensure that the input falls within a given range (specified by minValue and maxValue), is an integer (specified by domain), is non-negative (specified by allowNegative), and does not exceed the specified precision. The validator correctly validates formatted numbers (e.g., "12,345.67") and you can customize the thousandsSeparator and decimalSeparator properties for internationalization.

MXML SyntaxexpandedHide MXML Syntax

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="," 
  />
  

View the examples



Public Properties
 PropertyDefined By
  allowNegative : Object
Specifies whether negative numbers are permitted.
NumberValidator
  decimalPointCountError : String
Error message when the decimal separator character occurs more than once.
NumberValidator
  decimalSeparator : String
The character used to separate the whole from the fractional part of the number.
NumberValidator
  domain : String
Type of number to be validated.
NumberValidator
 Inheritedenabled : Boolean
Setting this value to false will stop the validator from performing validation.
Validator
  exceedsMaxError : String
Error message when the value exceeds the maxValue property.
NumberValidator
  integerError : String
Error message when the number must be an integer, as defined by the domain property.
NumberValidator
  invalidCharError : String
Error message when the value contains invalid characters.
NumberValidator
  invalidFormatCharsError : String
Error message when the value contains invalid format characters, which means that it contains a digit or minus sign (-) as a separator character, or it contains two or more consecutive separator characters.
NumberValidator
 Inheritedlistener : Object
Specifies the validation listener.
Validator
  lowerThanMinError : String
Error message when the value is less than minValue.
NumberValidator
  maxValue : Object
Maximum value for a valid number.
NumberValidator
  minValue : Object
Minimum value for a valid number.
NumberValidator
  negativeError : String
Error message when the value is negative and the allowNegative property is false.
NumberValidator
  precision : Object
The maximum number of digits allowed to follow the decimal point.
NumberValidator
  precisionError : String
Error message when the value has a precision that exceeds the value defined by the precision property.
NumberValidator
 Inheritedproperty : String
A String specifying the name of the property of the source object that contains the value to validate.
Validator
 Inheritedrequired : Boolean
If true, specifies that a missing or empty value causes a validation error.
Validator
 InheritedrequiredFieldError : String
Error message when a value is missing and the required property is true.
Validator
  separationError : String
Error message when the thousands separator is in the wrong location.
NumberValidator
 Inheritedsource : Object
Specifies the object containing the property to validate.
Validator
  thousandsSeparator : String
The character used to separate thousands in the whole part of the number.
NumberValidator
 Inheritedtrigger : IEventDispatcher
Specifies the component generating the event that triggers the validator.
Validator
 InheritedtriggerEvent : String
Specifies the event that triggers the validation.
Validator
Protected Properties
 PropertyDefined By
 InheritedactualListeners : Array
[read-only] Contains an Array of listener objects, if any, or the source object.
Validator
 InheritedactualTrigger : IEventDispatcher
[read-only] Contains the trigger object, if any, or the source object.
Validator
 InheritedresourceManager : IResourceManager
[read-only] A reference to the object which manages all of the application's localized resources.
Validator
 InheritedsubFields : Array
An Array of Strings containing the names for the properties contained in the value Object passed to the validate() method.
Validator
Public Methods
 MethodDefined By
  
Constructor.
NumberValidator
 Inherited
initialized(document:Object, id:String):void
Called automatically by the MXML compiler when the Validator is created using an MXML tag.
Validator
 Inherited
validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent
Performs validation and optionally notifies the listeners of the result.
Validator
 Inherited
validateAll(validators:Array):Array
[static] Invokes all the validators in the validators Array.
Validator
  
validateNumber(validator:NumberValidator, value:Object, baseField:String):Array
[static] Convenience method for calling a validator from within a custom validation function.
NumberValidator
Protected Methods
 MethodDefined By
 Inherited
Sets up all of the listeners for the valid and invalid events dispatched from the validator.
Validator
  
doValidation(value:Object):Array
[override] Override of the base class doValidation() method to validate a number.
NumberValidator
 Inherited
Returns the Object to validate.
Validator
 Inherited
Returns a ValidationResultEvent from the Array of error results.
Validator
 Inherited
isRealValue(value:Object):Boolean
Returns true if value is not null.
Validator
 Inherited
Disconnects all of the listeners for the valid and invalid events dispatched from the validator.
Validator
 Inherited
This method is called when a Validator is constructed, and again whenever the ResourceManager dispatches a "change" Event to indicate that the localized resources have changed in some way.
Validator
Events
 Event Summary Defined By
 InheritedDispatched when validation fails.Validator
 InheritedDispatched when validation succeeds.Validator
Protected Constants
 ConstantDefined By
 InheritedDECIMAL_DIGITS : String = 0123456789
[static] A String containing the decimal digits 0 through 9.
Validator
 InheritedROMAN_LETTERS : String = ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
[static] A string containing the upper- and lower-case letters of the Roman alphabet ("A" through "Z" and "a" through "z").
Validator
Property Detail
allowNegativeproperty
allowNegative:Object

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Specifies whether negative numbers are permitted. Valid values are true or false.

The default value is true.


Implementation
    public function get allowNegative():Object
    public function set allowNegative(value:Object):void
decimalPointCountErrorproperty 
decimalPointCountError:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Error message when the decimal separator character occurs more than once.

The default value is "The decimal separator can occur only once.".


Implementation
    public function get decimalPointCountError():String
    public function set decimalPointCountError(value:String):void
decimalSeparatorproperty 
decimalSeparator:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

The character used to separate the whole from the fractional part of the number. Cannot be a digit and must be distinct from the thousandsSeparator.

The default value is ".".


Implementation
    public function get decimalSeparator():String
    public function set decimalSeparator(value:String):void
domainproperty 
domain:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Type of number to be validated. Permitted values are "real" and "int".

In ActionScript, you can use the following constants to set this property: NumberValidatorDomainType.REAL or NumberValidatorDomainType.INT.

The default value is "real".


Implementation
    public function get domain():String
    public function set domain(value:String):void
exceedsMaxErrorproperty 
exceedsMaxError:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Error message when the value exceeds the maxValue property.

The default value is "The number entered is too large.".


Implementation
    public function get exceedsMaxError():String
    public function set exceedsMaxError(value:String):void
integerErrorproperty 
integerError:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Error message when the number must be an integer, as defined by the domain property.

The default value is "The number must be an integer.".


Implementation
    public function get integerError():String
    public function set integerError(value:String):void
invalidCharErrorproperty 
invalidCharError:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Error message when the value contains invalid characters.

The default value is The input contains invalid characters.".


Implementation
    public function get invalidCharError():String
    public function set invalidCharError(value:String):void
invalidFormatCharsErrorproperty 
invalidFormatCharsError:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Error message when the value contains invalid format characters, which means that it contains a digit or minus sign (-) as a separator character, or it contains two or more consecutive separator characters.

The default value is "One of the formatting parameters is invalid.".


Implementation
    public function get invalidFormatCharsError():String
    public function set invalidFormatCharsError(value:String):void
lowerThanMinErrorproperty 
lowerThanMinError:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Error message when the value is less than minValue.

The default value is "The amount entered is too small.".


Implementation
    public function get lowerThanMinError():String
    public function set lowerThanMinError(value:String):void
maxValueproperty 
maxValue:Object

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Maximum value for a valid number. A value of NaN means there is no maximum.

The default value is NaN.


Implementation
    public function get maxValue():Object
    public function set maxValue(value:Object):void
minValueproperty 
minValue:Object

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Minimum value for a valid number. A value of NaN means there is no minimum.

The default value is NaN.


Implementation
    public function get minValue():Object
    public function set minValue(value:Object):void
negativeErrorproperty 
negativeError:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Error message when the value is negative and the allowNegative property is false.

The default value is "The amount may not be negative.".


Implementation
    public function get negativeError():String
    public function set negativeError(value:String):void
precisionproperty 
precision:Object

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

The maximum number of digits allowed to follow the decimal point. Can be any nonnegative integer. Note: Setting to 0 has the same effect as setting domain to "int". A value of -1 means it is ignored.

The default value is -1.


Implementation
    public function get precision():Object
    public function set precision(value:Object):void
precisionErrorproperty 
precisionError:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Error message when the value has a precision that exceeds the value defined by the precision property.

The default value is "The amount entered has too many digits beyond the decimal point.".


Implementation
    public function get precisionError():String
    public function set precisionError(value:String):void
separationErrorproperty 
separationError:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Error message when the thousands separator is in the wrong location.

The default value is "The thousands separator must be followed by three digits.".


Implementation
    public function get separationError():String
    public function set separationError(value:String):void
thousandsSeparatorproperty 
thousandsSeparator:String

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

The character used to separate thousands in the whole part of the number. Cannot be a digit and must be distinct from the decimalSeparator.

The default value is ",".


Implementation
    public function get thousandsSeparator():String
    public function set thousandsSeparator(value:String):void
Constructor Detail
NumberValidator()Constructor
public function NumberValidator()

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Constructor.

Method Detail
doValidation()method
override protected function doValidation(value:Object):Array

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Override of the base class doValidation() method to validate a number.

You do not call this method directly; Flex calls it as part of performing a validation. If you create a custom Validator class, you must implement this method.

Parameters

value:Object — Object to validate.

Returns
Array — An Array of ValidationResult objects, with one ValidationResult object for each field examined by the validator.
validateNumber()method 
public static function validateNumber(validator:NumberValidator, value:Object, baseField:String):Array

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Convenience method for calling a validator from within a custom validation function. Each of the standard Flex validators has a similar convenience method.

Parameters

validator:NumberValidator — The NumberValidator instance.
 
value:Object — A field to validate.
 
baseField:String — Text representation of the subfield specified in the value parameter. For example, if the value parameter specifies value.number, the baseField value is "number".

Returns
Array — An Array of ValidationResult objects, with one ValidationResult object for each field examined by the validator.

See also

Examples
NumberValidatorExample.mxml
<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<!-- 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>