Apache Flex 4.16.1 API Reference | All Packages | All Classes | Index | Frames No Frames |
CurrencyValidator

Package | mx.validators
Class | public class CurrencyValidator
Inheritance | CurrencyValidator Validator 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.CurrencyValidator class as an alternative to this class.

The CurrencyValidator class ensures that a String represents a valid currency expression. It can make sure the input falls within a given range (specified by `minValue` and `maxValue`), is non-negative (specified by `allowNegative`), and does not exceed the specified `precision`. The CurrencyValidator class correctly validates formatted and unformatted currency expressions, e.g., "$12,345.00" and "12345". You can customize the `currencySymbol`, `alignSymbol`, `thousandsSeparator`, and `decimalSeparator` properties for internationalization.

MXML Syntax Show MXML Syntax
Hide MXML Syntax

The `<mx:CurrencyValidator>` tag inherits all of the tag properties of its superclass, and adds the following tag properties:

      <mx:CurrencyValidator
        alignSymbol="left|right|any"
        allowNegative="true|false"
        currencySymbol="$"
        currencySymbolError="The currency symbol occurs in an invalid location."
        decimalPointCountError="The decimal separator can occur only once."
        decimalSeparator="."
        exceedsMaxError="The amount entered is too large."
        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="2"
        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

See also

mx.validators.CurrencyValidatorAlignSymbol

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | alignSymbol : String Specifies the alignment of the currencySymbol relative to the rest of the expression. | CurrencyValidator
|  | allowNegative : Object Specifies whether negative numbers are permitted. | CurrencyValidator
|  | currencySymbol : String The character String used to specify the currency symbol, such as "$", "R$", or "£". | CurrencyValidator
|  | currencySymbolError : String Error message when the currency symbol, defined by currencySymbol, is in the wrong location. | CurrencyValidator
|  | decimalPointCountError : String Error message when the decimal separator character occurs more than once. | CurrencyValidator
|  | decimalSeparator : String The character used to separate the whole from the fractional part of the number. | CurrencyValidator
|  | enabled : Boolean Setting this value to false will stop the validator from performing validation. | Validator
|  | exceedsMaxError : String Error message when the value is greater than maxValue. | CurrencyValidator
|  | invalidCharError : String Error message when the currency contains invalid characters. | CurrencyValidator
|  | invalidFormatCharsError : String Error message when the value contains an invalid formatting character. | CurrencyValidator
|  | listener : Object Specifies the validation listener. | Validator
|  | lowerThanMinError : String Error message when the value is less than minValue. | CurrencyValidator
|  | maxValue : Object Maximum value for a valid number. | CurrencyValidator
|  | minValue : Object Minimum value for a valid number. | CurrencyValidator
|  | negativeError : String Error message when the value is negative and the allowNegative property is false. | CurrencyValidator
|  | precision : Object The maximum number of digits allowed to follow the decimal point. | CurrencyValidator
|  | precisionError : String Error message when the value has a precision that exceeds the value defined by the precision property. | CurrencyValidator
|  | property : String A String specifying the name of the property of the source object that contains the value to validate. | Validator
|  | required : Boolean 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 incorrectly placed. | CurrencyValidator
|  | source : Object Specifies the object containing the property to validate. | Validator
|  | thousandsSeparator : String The character used to separate thousands. | CurrencyValidator
|  | 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
--- | --- | ---
|  | CurrencyValidator() Constructor. | CurrencyValidator
|  | initialized(document:Object, id:String):void Called automatically by the MXML compiler when the Validator is created using an MXML tag. | Validator
|  | 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
|  | validateCurrency(validator:CurrencyValidator, value:Object, baseField:String):Array [static] Convenience method for calling a validator. | CurrencyValidator

Protected Methods
Show 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 currency expression. | CurrencyValidator
|  | 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
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | 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
--- | --- | ---
|  | DECIMAL_DIGITS : String = 0123456789 [static] A String containing the decimal digits 0 through 9. | Validator
|  | ROMAN_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

alignSymbol | property

`alignSymbol:String`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Specifies the alignment of the `currencySymbol` relative to the rest of the expression. Acceptable values in ActionScript are `CurrencyValidatorAlignSymbol.LEFT`, `CurrencyValidatorAlignSymbol.RIGHT`, and `CurrencyValidatorAlignSymbol.ANY`. Acceptable values in MXML are `"left"`, `"right"`, and `"any"`.

The default value is `CurrencyValidatorAlignSymbol.LEFT`.

Implementation
`public function get alignSymbol():String`
`public function set alignSymbol(value:String):void`

See also

mx.validators.CurrencyValidatorAlignSymbol

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. Can be `true` or `false`.

The default value is `true`.

Implementation
`public function get allowNegative():Object`
`public function set allowNegative(value:Object):void`

currencySymbol | property |

`currencySymbol:String`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

The character String used to specify the currency symbol, such as "$", "R$", or "£". Cannot be a digit and must be distinct from the `thousandsSeparator` and the `decimalSeparator`.

The default value is `"$"`.

Implementation
`public function get currencySymbol():String`
`public function set currencySymbol(value:String):void`

currencySymbolError | property |

`currencySymbolError:String`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Error message when the currency symbol, defined by `currencySymbol`, is in the wrong location.

The default value is `"The currency symbol occurs in an invalid location."`.

Implementation
`public function get currencySymbolError():String`
`public function set currencySymbolError(value:String):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 only occur 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 `currencySymbol` and the `thousandsSeparator`.

The default value is `"."`.

Implementation
`public function get decimalSeparator():String`
`public function set decimalSeparator(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 is greater than `maxValue`.

The default value is `"The amount entered is too large."`.

Implementation
`public function get exceedsMaxError():String`
`public function set exceedsMaxError(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 currency 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 an invalid formatting character.

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 it is ignored.

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 it is ignored.

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 non-negative integer. Note: Setting to `0` has the same effect as setting `NumberValidator.domain` to `int`. Setting it to -1, means it is ignored.

The default value is `2`.

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 incorrectly placed.

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. Cannot be a digit and must be distinct from the `currencySymbol` and the `decimalSeparator`.

The default value is `","`.

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

CurrencyValidator | () | Constructor

`public function CurrencyValidator()`

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 currency expression.

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.

validateCurrency | () | method |

`public static function validateCurrency(validator:CurrencyValidator, 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. Each of the standard Flex validators has a similar convenience method.

Parameters

| `validator:CurrencyValidator` — The CurrencyValidator instance.
| `value:Object` — The object to validate.
| `baseField:String` — Text representation of the subfield specified in the `value` parameter. For example, if the `value` parameter specifies value.currency, the baseField value is "currency".

Returns

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

See also

mx.validators.ValidationResult
Examples
CurrencyValidatorExample.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 CurrencyValidator. -->
    <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:CurrencyValidator source="{priceUS}" property="text" precision="2"
                    trigger="{myButton}" triggerEvent="click"
                    valid="Alert.show('Validation Succeeded!');"/>
        </fx:Declarations>

        <s:Panel title="CurrencyValidator Example"
                width="75%" height="75%"
                horizontalCenter="0" verticalCenter="0">
            <mx:Form left="10" right="10" top="10" bottom="10">
                <mx:FormItem label="Enter a U.S. dollar amount: ">
                     <s:TextInput id="priceUS" width="100%"/>
                </mx:FormItem>
                <mx:FormItem >
                    <s:Button id="myButton" label="Validate"/>
                </mx:FormItem>
            </mx:Form>
        </s:Panel>

    </s:Application>

Wed Nov 15 2017, 09:50 AM +01:00