mx.validators

# NumberValidator - AS3 Flex

Package | mx.validators
Class | public class NumberValidator
Inheritance | NumberValidator Validator EventDispatcher Object

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

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 Syntax Show MXML Syntax
Hide 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

Enabling and disabling a validator
Validating numbers

Learn more

Validating data
About the source and property properties
About triggering validation
Triggering validation by using events
Triggering validation programmatically
Validating required fields
General guidelines for validation
Working with validation errors
Working with validation events

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | allowNegative : Object Specifies whether negative numbers are permitted. | NumberValidator
|  | constructor : 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
|  | enabled : 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
|  | listener : 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
|  | property : String A String specifying the name of the property of the source object that contains the value to validate. | Validator
|  | required : Boolean = true If true, specifies that a missing or empty value causes a validation error. | Validator
|  | requiredFieldError : 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
|  | source : 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
|  | trigger : IEventDispatcher Specifies the component generating the event that triggers the validator. | Validator
|  | triggerEvent : String Specifies the event that triggers the validation. | Validator

Protected Properties
Hide Inherited Protected Properties
Show Inherited Protected Properties

| Property | Defined By
--- | --- | ---
|  | actualListeners : Array [read-only] Contains an Array of listener objects, if any, or the source object. | Validator
|  | actualTrigger : IEventDispatcher [read-only] Contains the trigger object, if any, or the source object. | Validator
|  | resourceManager : IResourceManager [read-only] A reference to the object which manages all of the application's localized resources. | Validator
|  | subFields : Array An Array of Strings containing the names for the properties contained in the value Object passed to the validate() method. | Validator

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | NumberValidator() Constructor. | NumberValidator
|  | 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
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | EventDispatcher
|  | hasEventListener(type:String):Boolean Checks whether the EventDispatcher object has any listeners registered for a specific type of event. | EventDispatcher
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | initialized(document:Object, id:String):void Called automatically by the MXML compiler when the Validator is created using an MXML tag. | Validator
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | EventDispatcher
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent Performs validation and optionally notifies the listeners of the result. | Validator
|  | 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
|  | valueOf():Object Returns the primitive value of the specified object. | Object
|  | willTrigger(type:String):Boolean Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. | EventDispatcher

Protected Methods
Hide Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | addListenerHandler():void 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
|  | getValueFromSource():Object Returns the Object to validate. | Validator
|  | handleResults(errorResults:Array):ValidationResultEvent Returns a ValidationResultEvent from the Array of error results. | Validator
|  | isRealValue(value:Object):Boolean Returns true if value is not null. | Validator
|  | removeListenerHandler():void Disconnects all of the listeners for the valid and invalid events dispatched from the validator. | Validator
|  | resourcesChanged():void 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
Click for more information on events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | activate | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher
|  | deactivate | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher
|  | invalid | Dispatched when validation fails. | Validator
|  | valid | Dispatched when validation succeeds. | Validator

Protected Constants
Hide Inherited Protected Constants
Show Inherited Protected Constants

| Constant | Defined 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

mx.validators.ValidationResult
Examples How to use this example
NumberValidatorExample.mxml
Copy

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

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00