Packagemx.validators
Classpublic class CurrencyValidator
InheritanceCurrencyValidator 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.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 SyntaxexpandedHide 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
 PropertyDefined 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
 Inheritedenabled : 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
 Inheritedlistener : 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
 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 incorrectly placed.
CurrencyValidator
 Inheritedsource : Object
Specifies the object containing the property to validate.
Validator
  thousandsSeparator : String
The character used to separate thousands.
CurrencyValidator
 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.
CurrencyValidator
 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
  
validateCurrency(validator:CurrencyValidator, value:Object, baseField:String):Array
[static] Convenience method for calling a validator.
CurrencyValidator
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 currency expression.
CurrencyValidator
 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
alignSymbolproperty
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

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

The default value is true.


Implementation
    public function get allowNegative():Object
    public function set allowNegative(value:Object):void
currencySymbolproperty 
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
currencySymbolErrorproperty 
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
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 only occur 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 currencySymbol and the thousandsSeparator.

The default value is ".".


Implementation
    public function get decimalSeparator():String
    public function set decimalSeparator(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 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
invalidCharErrorproperty 
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
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 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
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 it is ignored.

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

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

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>