Packagespark.validators
Classpublic class CurrencyValidator
InheritanceCurrencyValidator Inheritance NumberValidatorBase Inheritance GlobalizationValidatorBase Inheritance GlobalizationBase Inheritance AdvancedStyleClient Inheritance flash.events.EventDispatcher

Language Version : ActionScript 3.0
Product Version : Flex 4.5
Runtime Versions : Flash Player 10.1, AIR 2.5

The CurrencyValidator class ensures that a String represents a valid currency amount according to the conventions of a locale. This class uses the locale style for specifying the Locale ID.

The validator can ensure that a currency string falls within a given range (specified by minValue and maxValue properties), is an integer (specified by domain property), is non-negative (specified by allowNegative property), correctly specifies negative and positive numbers, has the correct currency ISO code or currency symbol, and does not exceed the specified number of fractionalDigits. The validator sets default property values by making use of the flash.globalization.CurrencyFormatter class and therefore the locale specific values are supplied by the operating system.

The flash.globalization.CurrencyFormatter class uses the underlying operating system to supply the locale specific data. In case the operating system does not provide currency formatting, this class provides fallback functionality.

MXML SyntaxexpandedHide MXML Syntax

The <s:CurrencyValidator> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <s:CurrencyValidator
    Properties
    currencyISOCode="locale specified string or customized by user."
    currencyStringError="Currency name is repeated or not correct."
    currencySymbol="locale specified string or customized by user."
    negativeCurrencyFormat="locale specified string or customized by user."
    negativeCurrencyFormatError="The negative format of the input currency is incorrect."
    positiveCurrencyFormat="locale specified string or customized by user."
    positiveCurrencyFormatError="The positive format of the input currency is incorrect."
  />
  

View the examples

See also

flash.globalization.CurrencyFormatter


Public Properties
 PropertyDefined By
 InheritedactualLocaleIDName : String
[read-only] The name of the actual locale ID used by this class object.
GlobalizationBase
 InheritedallowNegative : Boolean
Specifies whether negative numbers are permitted.
NumberValidatorBase
 InheritedclassName : String
[read-only] The name of the component class.
AdvancedStyleClient
  currencyISOCode : String
The three letter ISO 4217 currency code for the locale being used.
CurrencyValidator
  currencyStringError : String
Error message when the currency symbol or currency ISO code is repeated or is in the incorrect location.
CurrencyValidator
  currencySymbol : String
The currency symbol or string for the locale being used.
CurrencyValidator
 InheriteddecimalPointCountError : String
Error message when the decimal separator character occurs more than once.
NumberValidatorBase
 InheriteddecimalSeparator : String
The decimal separator character used for validating numbers that have a decimal part.
NumberValidatorBase
 InheriteddigitsType : uint
Defines the set of digit characters to be used when validating numbers.
NumberValidatorBase
 Inheriteddomain : String
Type of number to be validated.
NumberValidatorBase
 Inheritedenabled : Boolean
Setting this value to false will stop the validator from performing validation.
GlobalizationValidatorBase
 InheritedfractionalDigits : int
The maximum number of digits that can appear after the decimal separator.
NumberValidatorBase
 InheritedfractionalDigitsError : String
Error message when fraction digits exceeds the value specified by the fractionalDigits property.
NumberValidatorBase
 InheritedgreaterThanMaxError : String
Error message when the value exceeds the maxValue property.
NumberValidatorBase
 InheritedgroupingSeparator : String
The character or string used for the grouping separator.
NumberValidatorBase
 Inheritedid : String
The identity of the component.
AdvancedStyleClient
 InheritedinheritingStyles : Object
An object containing the inheritable styles for this non-visual style client instance.
AdvancedStyleClient
 InheritedinvalidCharError : String
Error message when the value contains invalid characters.
NumberValidatorBase
 InheritedinvalidFormatCharsError : 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.
NumberValidatorBase
 InheritedlastOperationStatus : String
[override] [read-only] The status of the most recent operation that this class object performed.
NumberValidatorBase
 InheritedlessThanMinError : String
Error message when the value is less than the minValue.
NumberValidatorBase
 Inheritedlistener : Object
Specifies the validation listener.
GlobalizationValidatorBase
 InheritedlocaleUndefinedError : String
Error message when the locale is undefined or is not available.
NumberValidatorBase
 InheritedmaxValue : Number
Maximum value for a valid number.
NumberValidatorBase
 InheritedminValue : Number
Minimum value for a valid number.
NumberValidatorBase
 InheritedmoduleFactory : IFlexModuleFactory
A module factory is used as context for finding the style manager that controls the styles for this non-visual style client instance.
AdvancedStyleClient
  negativeCurrencyFormat : uint
A numeric value that indicates a validating pattern for negative currency amounts.
CurrencyValidator
  negativeCurrencyFormatError : String
Error message when the negative number format of the input currency string is incorrect.
CurrencyValidator
 InheritednegativeError : String
Error message when the value is negative and the allowNegative property is false.
NumberValidatorBase
 InheritednegativeSymbol : String
[read-only] The negative symbol to be used when validating negative values.
NumberValidatorBase
 InheritednegativeSymbolError : String
Error message when the negative symbol is repeated or is in wrong place.
NumberValidatorBase
 InheritednonInheritingStyles : Object
The beginning of this component's chain of non-inheriting styles.
AdvancedStyleClient
 InheritednotAnIntegerError : String
Error message when the number must be an integer, as defined by the domain property.
NumberValidatorBase
 InheritedparseError : String
Error message when number could not be parsed.
NumberValidatorBase
  positiveCurrencyFormat : uint
A numeric value that indicates a validating pattern for positive currency amounts.
CurrencyValidator
  positiveCurrencyFormatError : String
Error message when the positive currency number format is incorrect.
CurrencyValidator
 Inheritedproperty : String
A String specifying the name of the property of the source object that contains the value to validate.
GlobalizationValidatorBase
 Inheritedrequired : Boolean = true
If true, specifies that a missing or empty value causes a validation error.
GlobalizationValidatorBase
 InheritedrequiredFieldError : String
Error message when a value is missing and the required property is true.
GlobalizationValidatorBase
 Inheritedsource : Object
Specifies the object containing the property to validate.
GlobalizationValidatorBase
 InheritedstyleDeclaration : CSSStyleDeclaration
The style declaration that holds the inline styles declared by this object.
AdvancedStyleClient
 InheritedstyleManager : IStyleManager2
[read-only] Returns the StyleManager instance used by this component.
AdvancedStyleClient
 InheritedstyleName : Object
The source of this object's style values.
AdvancedStyleClient
 InheritedstyleParent : IAdvancedStyleClient
A component's parent is used to evaluate descendant selectors.
AdvancedStyleClient
 Inheritedtrigger : IEventDispatcher
Specifies the component generating the event that triggers the validator.
GlobalizationValidatorBase
 InheritedtriggerEvent : String
Specifies the event that triggers the validation.
GlobalizationValidatorBase
Protected Properties
 PropertyDefined By
 InheritedactualListeners : Array
[read-only] Contains an Array of listener objects, if any, or the source object.
GlobalizationValidatorBase
 InheritedactualTrigger : IEventDispatcher
[read-only] Contains the trigger object, if any, or the source object.
GlobalizationValidatorBase
 InheritedresourceManager : IResourceManager
[read-only] A reference to the object which manages all of the application's localized resources.
GlobalizationValidatorBase
 InheritedsubFields : Array
An Array of Strings containing the names for the properties contained in the value Object passed to the validate() method.
GlobalizationValidatorBase
Public Methods
 MethodDefined By
  
Constructs a new CurrencyValidator object to validate numbers representing currency amounts according to the conventions of a given locale.
CurrencyValidator
 Inherited
clearStyle(styleProp:String):void
Deletes a style property from this component instance.
AdvancedStyleClient
 Inherited
Returns an Array of CSSStyleDeclaration objects for the type selector that applies to this component, or null if none exist.
AdvancedStyleClient
 Inherited
getStyle(styleProp:String):*
[override] Gets a style property that has been set anywhere in this component's style lookup chain.
GlobalizationBase
 Inherited
hasCSSState():Boolean
Returns true if currentCSSState is not null.
AdvancedStyleClient
 Inherited
initialized(document:Object, id:String):void
The initialized method is called when this class or a class that extends this class is used in an MXML declaration.
AdvancedStyleClient
 Inherited
matchesCSSState(cssState:String):Boolean
Returns true if cssState matches currentCSSState.
AdvancedStyleClient
 Inherited
matchesCSSType(cssType:String):Boolean
Determines whether this instance is the same as, or is a subclass of, the given type.
AdvancedStyleClient
 Inherited
notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void
Propagates style changes to the children of this style client instance.
AdvancedStyleClient
 Inherited
regenerateStyleCache(recursive:Boolean):void
Sets up the internal style cache values so that the getStyle() method functions.
AdvancedStyleClient
 Inherited
registerEffects(effects:Array):void
Registers the EffectManager as one of the event listeners for each effect event.
AdvancedStyleClient
 Inherited
setStyle(styleProp:String, newValue:*):void
Sets a style property on this component instance.
AdvancedStyleClient
 Inherited
styleChanged(styleProp:String):void
Detects changes to style properties.
AdvancedStyleClient
 Inherited
Flex calls the stylesInitialized() method when the styles for a component are first initialized.
AdvancedStyleClient
 Inherited
validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent
Performs validation and optionally notifies the listeners of the result.
GlobalizationValidatorBase
 Inherited
validateAll(validators:Array):Array
[static] Invokes all the validators in the validators Array.
GlobalizationValidatorBase
  
validateCurrency(value:Object, baseField:String):Array
Convenience method for calling a validator from within a custom validation function.
CurrencyValidator
Protected Methods
 MethodDefined By
 Inherited
Sets up all of the listeners for the valid and invalid events dispatched from the validator.
GlobalizationValidatorBase
 Inherited
doValidation(value:Object):Array
Executes the validation logic of this validator, including validating that a missing or empty value causes a validation error as defined by the value of the required property.
GlobalizationValidatorBase
 Inherited
Returns the Object to validate.
GlobalizationValidatorBase
 Inherited
Returns a ValidationResultEvent from the Array of error results.
GlobalizationValidatorBase
 Inherited
isRealValue(value:Object):Boolean
Returns true if value is not null.
GlobalizationValidatorBase
 Inherited
Disconnects all of the listeners for the valid and invalid events dispatched from the validator.
GlobalizationValidatorBase
 Inherited
This method is called when a GlobalizationValidatorBase is constructed, and again whenever the ResourceManager dispatches a "change" Event to indicate that the localized resources have changed in some way.
GlobalizationValidatorBase
Events
 Event Summary Defined By
 InheritedThe change event is generated whenever the locale style is changed or another property is set that would cause the format of a number to change or cause updates to the other values available through this class.GlobalizationBase
 InheritedDispatched when validation fails.GlobalizationValidatorBase
 InheritedDispatched when validation succeeds.GlobalizationValidatorBase
Styles
 Style Description Defined By
 InheritedType: String CSS Inheritance: yes
The locale identifier that specifies the language, region, script and optionally other related tags and keys.

See also

GlobalizationBase
Property Detail
currencyISOCodeproperty
currencyISOCode:String

Language Version : ActionScript 3.0
Product Version : Flex 4.5
Runtime Versions : Flash Player 10.1, AIR 2.5

The three letter ISO 4217 currency code for the locale being used.

This property is used to validate the currency string or symbol present in the input currency amounts using the validate() method.

This property is initialized by the constructor based on the actual locale that is used. When a fallback locale is used this property reflects the preferred, default currency code for the fallback locale.

The default value is dependent on the actual locale and operating system.

This property can be used as the source for data binding.


Implementation
    public function get currencyISOCode():String
    public function set currencyISOCode(value:String):void

See also

currencyStringErrorproperty 
currencyStringError:String

Language Version : ActionScript 3.0
Product Version : Flex 4.5
Runtime Versions : Flash Player 10.1, AIR 2.5

Error message when the currency symbol or currency ISO code is repeated or is in the incorrect location.

The default value is "Currency name is repeated or not correct.".

This property can be used as the source for data binding.


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

Language Version : ActionScript 3.0
Product Version : Flex 4.5
Runtime Versions : Flash Player 10.1, AIR 2.5

The currency symbol or string for the locale being used.

This property is used as the currency symbol when validating currency amounts using the validate() method.The currency symbol or currency name in the validation string, must match either the value of the currencySymbol property or the value of the currencyISOCode property.

This property is initialized by the constructor based on the actual locale that is used. When a fallback locale is used this property reflects the preferred, default currency symbol for the fallback locale.

The default value is dependent on the actual locale and operating system.

This property can be used as the source for data binding.


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

See also

negativeCurrencyFormatproperty 
negativeCurrencyFormat:uint

Language Version : ActionScript 3.0
Product Version : Flex 4.5
Runtime Versions : Flash Player 10.1, AIR 2.5

A numeric value that indicates a validating pattern for negative currency amounts. This property defines the location of the currency symbol and the negative symbol or parentheses in relation to the numeric portion of the currency amount. This property is used to validate whether or not the input currency string follows this pattern for negative amounts.

The value of this property must be one of the constants defined in the table below.

Negative currency format typeFormatting pattern
0(¤n)
1-¤n
2¤-n
3¤n-
4(n¤)
5-n¤
6n-¤
7n¤-
8-n ¤
9-¤ n
10n ¤-
11¤ n-
12¤ -n
13n- ¤
14(¤ n)
15(n ¤)

The default value is dependent on the actual locale and operating system.

This property can be used as the source for data binding.


Implementation
    public function get negativeCurrencyFormat():uint
    public function set negativeCurrencyFormat(value:uint):void

Throws
ArgumentError — if the assigned value is not between 0 and 15.

See also

negativeCurrencyFormatErrorproperty 
negativeCurrencyFormatError:String

Language Version : ActionScript 3.0
Product Version : Flex 4.5
Runtime Versions : Flash Player 10.1, AIR 2.5

Error message when the negative number format of the input currency string is incorrect.

The default value is "The negative format of the input currency is incorrect.".

This property can be used as the source for data binding.


Implementation
    public function get negativeCurrencyFormatError():String
    public function set negativeCurrencyFormatError(value:String):void
positiveCurrencyFormatproperty 
positiveCurrencyFormat:uint

Language Version : ActionScript 3.0
Product Version : Flex 4.5
Runtime Versions : Flash Player 10.1, AIR 2.5

A numeric value that indicates a validating pattern for positive currency amounts. This property defines the location of currency symbol relative to the numeric portion of the currency amount. This property is used to validate if the input currency string follows this pattern for positive amounts.

The value of this property must be one of the constants defined in the table below.

Positive currency format typeFormatting pattern
0¤n
1
2¤ n
3n ¤

The default value is dependent on the actual locale and operating system.

This property can be used as the source for data binding.


Implementation
    public function get positiveCurrencyFormat():uint
    public function set positiveCurrencyFormat(value:uint):void

Throws
ArgumentError — if the assigned value is not between 0 and 3.

See also

positiveCurrencyFormatErrorproperty 
positiveCurrencyFormatError:String

Language Version : ActionScript 3.0
Product Version : Flex 4.5
Runtime Versions : Flash Player 10.1, AIR 2.5

Error message when the positive currency number format is incorrect.

The default value is "The positive format of the input currency is incorrect.".

This property can be used as the source for data binding.


Implementation
    public function get positiveCurrencyFormatError():String
    public function set positiveCurrencyFormatError(value:String):void
Constructor Detail
CurrencyValidator()Constructor
public function CurrencyValidator()

Language Version : ActionScript 3.0
Product Version : Flex 4.5
Runtime Versions : Flash Player 10.1, AIR 2.5

Constructs a new CurrencyValidator object to validate numbers representing currency amounts according to the conventions of a given locale.

The locale for this class is supplied by the locale style property. The locale style can be set in several ways:

If the locale style is not set by one of the above techniques, the instance of this class will be added as a StyleClient to the topLevelApplication and will therefore inherit the locale style from the topLevelApplication object when the locale dependent property getter or locale dependent method is called.

The properties related to the currency string format are set to default values based on the locale.

NOTE: When a fallback locale is used, the currency properties are set to default values of en_US locale, and therefore might not match the currency for which the validation is intended. It is a good idea to examine the currencySymbol and currencyISOCode property values before validating a currency amount.

See also

flash.globalization.CurrencyFormatter.actualLocaleIDName
Method Detail
validateCurrency()method
public function validateCurrency(value:Object, baseField:String):Array

Language Version : ActionScript 3.0
Product Version : Flex 4.5
Runtime Versions : Flash Player 10.1, AIR 2.5

Convenience method for calling a validator from within a custom validation function. Each of the standard Flex validators has a similar convenience method. Caller must check the ValidationResult objects in the returned array for validation status.

Parameters

value:Object — A currency number string to validate.The number string can use unicode minus symbols 0x2212, 0xFE63, 0xFF0D besides ascii minus.
 
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

mx.validators.ValidationResult
flash.globalization.CurrencyFormatter
Examples
CurrencyValidatorExample1.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.

-->
<!-- Sample program for spark.formatters.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:Declarations>
        <s:CurrencyValidator id="currencyValidator" source='{inputNumber}' 
                           property="text" trigger='{validateBtn}'
                           triggerEvent="click" />
        <s:CurrencyFormatter id="currencyFormatter" useCurrencySymbol="true" 
                           useGrouping="true"/>
    </fx:Declarations>
    
    <fx:Script>
        <![CDATA[
            [Bindable]
            private var number:Number = 123456789.12;
        ]]>
    </fx:Script>
    
    <mx:Form>
        <mx:FormItem label="Input Locale ID Name">
            <mx:HBox>
                <s:TextInput id="inputLocaleIDName" text="en-US"/>
                <!-- Upon button click, sets the locale style on the document
                UI component. The formatter will inherit this style. -->
                <s:Button click="setStyle('locale', inputLocaleIDName.text);"
                          label="Apply"/>
            </mx:HBox>
            <mx:Text text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
        </mx:FormItem>
        
        <mx:FormItem label="Allow Negative">
            <mx:CheckBox id="alowNegative" selected="true"
                         change="currencyValidator.allowNegative = alowNegative.selected"/>
        </mx:FormItem>
        
        <mx:FormItem label="Fractional Digits">
            <mx:TextInput id="fractionalDigits" text='{currencyValidator.fractionalDigits}' 
                          change="currencyFormatter.fractionalDigits = 
                          currencyValidator.fractionalDigits = Number(fractionalDigits.text)"/>
        </mx:FormItem>
        
        <mx:FormItem label="Currency Symbol">
            <mx:TextInput id="currencySymbol" text='{currencyValidator.currencySymbol}' 
                          change="currencyFormatter.currencySymbol = 
                          currencyValidator.currencySymbol = currencySymbol.text"/>
        </mx:FormItem>
        
        <mx:FormItem label="Actual Locale ID Name">
            <mx:Text text="{currencyValidator.actualLocaleIDName}"/>
        </mx:FormItem>
        
        <mx:FormItem label="Enter currency amount" >
            <mx:HBox>
                <mx:TextInput id="inputNumber" />
                <mx:Button id="validateBtn" label="Validate" />
            </mx:HBox>
        </mx:FormItem>

        <mx:FormItem label="Example currency">
            <mx:Text text="{currencyFormatter.format(123456789.12)}"/>
        </mx:FormItem>
    </mx:Form>
</s:Application>