ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
mx.validators 

NumberValidator  - AS3 Flex

Packagemx.validators
Classpublic class NumberValidator
InheritanceNumberValidator Inheritance Validator Inheritance EventDispatcher Inheritance Object

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


Starting with Flex 4.5, Adobe 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

More examples

Learn more



Public Properties
 PropertyDefined By
  allowNegative : Object
Specifies whether negative numbers are permitted.
NumberValidator
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  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 = true
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
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event.
EventDispatcher
 Inherited
Dispatches an event into the event flow.
EventDispatcher
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Called automatically by the MXML compiler when the Validator is created using an MXML tag.
Validator
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 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
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Protected Methods
 MethodDefined By
 Inherited
Sets up all of the listeners for the valid and invalid events dispatched from the validator.
Validator
  
[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
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
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active.EventDispatcher
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive.EventDispatcher
 InheritedDispatched when validation fails.Validator
 InheritedDispatched when validation succeeds.Validator
Protected Constants
 ConstantDefined By
Property Detail

allowNegative

property
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

decimalPointCountError

property 
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

decimalSeparator

property 
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

domain

property 
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

exceedsMaxError

property 
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

integerError

property 
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

invalidCharError

property 
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

invalidFormatCharsError

property 
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

lowerThanMinError

property 
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

maxValue

property 
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

minValue

property 
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

negativeError

property 
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

precision

property 
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

precisionError

property 
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

separationError

property 
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

thousandsSeparator

property 
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.

Related API Elements

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>