Package | spark.validators |
Class | public class CurrencyValidator |
Inheritance | CurrencyValidator NumberValidatorBase GlobalizationValidatorBase GlobalizationBase AdvancedStyleClient EventDispatcher Object |
Language Version: | ActionScript 3.0 |
Product Version: | Flex 4.5 |
Runtime Versions: | Flash Player 10.1, AIR 2.5 |
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.
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." />
More examples
Learn more
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
Localization
Related API Elements
Property | Defined By | ||
---|---|---|---|
actualLocaleIDName : String [read-only]
The name of the actual locale ID used by this class object. | GlobalizationBase | ||
allowNegative : Boolean
Specifies whether negative numbers are permitted. | NumberValidatorBase | ||
className : String [read-only]
The name of the component class. | AdvancedStyleClient | ||
constructor : Object
A reference to the class object or constructor function for a given object instance. | Object | ||
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 | ||
decimalPointCountError : String
Error message when the decimal separator character occurs more than
once. | NumberValidatorBase | ||
decimalSeparator : String
The decimal separator character used for validating numbers that have
a decimal part. | NumberValidatorBase | ||
digitsType : uint
Defines the set of digit characters to be used when
validating numbers. | NumberValidatorBase | ||
domain : String
Type of number to be validated. | NumberValidatorBase | ||
enabled : Boolean
Setting this value to false will stop the validator
from performing validation. | GlobalizationValidatorBase | ||
fractionalDigits : int
The maximum number of digits that can appear after the decimal
separator. | NumberValidatorBase | ||
fractionalDigitsError : String
Error message when fraction digits exceeds the value specified
by the fractionalDigits property. | NumberValidatorBase | ||
greaterThanMaxError : String
Error message when the value exceeds the maxValue property. | NumberValidatorBase | ||
groupingSeparator : String
The character or string used for the grouping separator. | NumberValidatorBase | ||
id : String
The identity of the component. | AdvancedStyleClient | ||
inheritingStyles : Object
An object containing the inheritable styles for this non-visual
style client instance. | AdvancedStyleClient | ||
invalidCharError : String
Error message when the value contains invalid characters. | NumberValidatorBase | ||
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. | NumberValidatorBase | ||
lastOperationStatus : String [override] [read-only]
The status of the most recent operation that this class object
performed. | NumberValidatorBase | ||
lessThanMinError : String
Error message when the value is less than the minValue. | NumberValidatorBase | ||
listener : Object
Specifies the validation listener. | GlobalizationValidatorBase | ||
localeUndefinedError : String
Error message when the locale is undefined or is not available. | NumberValidatorBase | ||
maxValue : Number
Maximum value for a valid number. | NumberValidatorBase | ||
minValue : Number
Minimum value for a valid number. | NumberValidatorBase | ||
moduleFactory : 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 | ||
negativeError : String
Error message when the value is negative and the
allowNegative property is false. | NumberValidatorBase | ||
negativeSymbol : String [read-only]
The negative symbol to be used when validating negative values. | NumberValidatorBase | ||
negativeSymbolError : String
Error message when the negative symbol is repeated or is in wrong place. | NumberValidatorBase | ||
nonInheritingStyles : Object
The beginning of this component's chain of non-inheriting styles. | AdvancedStyleClient | ||
notAnIntegerError : String
Error message when the number must be an integer, as defined
by the domain property. | NumberValidatorBase | ||
parseError : 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 | ||
property : String
A String specifying the name of the property
of the source object that contains
the value to validate. | GlobalizationValidatorBase | ||
prototype : Object [static]
A reference to the prototype object of a class or function object. | Object | ||
required : Boolean = true
If true, specifies that a missing or empty
value causes a validation error. | GlobalizationValidatorBase | ||
requiredFieldError : String
Error message when a value is missing and the
required property is true. | GlobalizationValidatorBase | ||
source : Object
Specifies the object containing the property to validate. | GlobalizationValidatorBase | ||
styleDeclaration : CSSStyleDeclaration
The style declaration that holds the inline styles declared by this
object. | AdvancedStyleClient | ||
styleManager : IStyleManager2 [read-only]
Returns the StyleManager instance used by this component. | AdvancedStyleClient | ||
styleName : Object
The source of this object's style values. | AdvancedStyleClient | ||
styleParent : IAdvancedStyleClient
A component's parent is used to evaluate descendant selectors. | AdvancedStyleClient | ||
trigger : IEventDispatcher
Specifies the component generating the event that triggers the
validator. | GlobalizationValidatorBase | ||
triggerEvent : String
Specifies the event that triggers the validation. | GlobalizationValidatorBase |
Method | Defined By | ||
---|---|---|---|
Constructs a new CurrencyValidator object to validate
numbers representing currency amounts according to
the conventions of a given locale. | CurrencyValidator | ||
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 | ||
Deletes a style property from this component instance. | AdvancedStyleClient | ||
Dispatches an event into the event flow. | EventDispatcher | ||
Returns an Array of CSSStyleDeclaration objects for the type selector
that applies to this component, or null if none exist. | AdvancedStyleClient | ||
[override]
Gets a style property that has been set anywhere in this
component's style lookup chain. | GlobalizationBase | ||
Returns true if currentCSSState is not null. | AdvancedStyleClient | ||
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event. | EventDispatcher | ||
Indicates whether an object has a specified property defined. | Object | ||
The initialized method is called when this class or a class that
extends this class is used in an MXML declaration. | AdvancedStyleClient | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | ||
Returns true if cssState matches currentCSSState. | AdvancedStyleClient | ||
Determines whether this instance is the same as, or is a subclass of,
the given type. | AdvancedStyleClient | ||
Propagates style changes to the children of this style client
instance. | AdvancedStyleClient | ||
Indicates whether the specified property exists and is enumerable. | Object | ||
Sets up the internal style cache values so that the
getStyle()
method functions. | AdvancedStyleClient | ||
Registers the EffectManager as one of the event listeners
for each effect event. | AdvancedStyleClient | ||
Removes a listener from the EventDispatcher object. | EventDispatcher | ||
Sets the availability of a dynamic property for loop operations. | Object | ||
Sets a style property on this component instance. | AdvancedStyleClient | ||
Detects changes to style properties. | AdvancedStyleClient | ||
Flex calls the stylesInitialized() method when
the styles for a component are first initialized. | AdvancedStyleClient | ||
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | ||
Returns the string representation of the specified object. | Object | ||
Performs validation and optionally notifies
the listeners of the result. | GlobalizationValidatorBase | ||
[static]
Invokes all the validators in the validators Array. | GlobalizationValidatorBase | ||
Convenience method for calling a validator
from within a custom validation function. | CurrencyValidator | ||
Returns the primitive value of the specified object. | Object | ||
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type. | EventDispatcher |
Styles are either common or associated with a specific theme. If the style is common, it can be used with any theme. If a style is associated with a specific theme, it can only be used if your application uses that theme.
currencyISOCode | property |
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. When this property is modified, it dispatches the change
event.
Implementation
public function get currencyISOCode():String
public function set currencyISOCode(value:String):void
Related API Elements
currencyStringError | property |
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. When this property is modified, it dispatches the change
event.
Implementation
public function get currencyStringError():String
public function set currencyStringError(value:String):void
currencySymbol | property |
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. When this property is modified, it dispatches the change
event.
Implementation
public function get currencySymbol():String
public function set currencySymbol(value:String):void
Related API Elements
negativeCurrencyFormat | property |
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.
- The '¤' symbol represents the location of the currencyISOCode or the currencySymbol in the currency string.
- The '-' character represents the location of the negativeNumberSymbol.
- The 'n' character represents the currency amount.
Negative currency format type | Formatting pattern |
0 | (¤n) |
1 | -¤n |
2 | ¤-n |
3 | ¤n- |
4 | (n¤) |
5 | -n¤ |
6 | n-¤ |
7 | n¤- |
8 | -n ¤ |
9 | -¤ n |
10 | n ¤- |
11 | ¤ n- |
12 | ¤ -n |
13 | n- ¤ |
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. When this property is modified, it dispatches the change
event.
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.
|
Related API Elements
negativeCurrencyFormatError | property |
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. When this property is modified, it dispatches the change
event.
Implementation
public function get negativeCurrencyFormatError():String
public function set negativeCurrencyFormatError(value:String):void
positiveCurrencyFormat | property |
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.
- The '¤' symbol represents the location of the
currencyISOCode
or thecurrencySymbol
in the currency string. - The 'n' character represents the location of the
currencyISOCode
or thecurrencySymbol
in the currency string.
Positive currency format type | Formatting pattern |
0 | ¤n |
1 | n¤ |
2 | ¤ n |
3 | n ¤ |
The default value is dependent on the actual locale and operating system.
This property can be used as the source for data binding. When this property is modified, it dispatches the change
event.
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.
|
Related API Elements
positiveCurrencyFormatError | property |
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. When this property is modified, it dispatches the change
event.
Implementation
public function get positiveCurrencyFormatError():String
public function set positiveCurrencyFormatError(value:String):void
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:
-
Inheriting the style from a
UIComponent
by calling theUIComponent
'saddStyleClient
method. - By using the class in an MXML declaration and inheriting the locale from the document that contains the declaration.
<fx:Declarations> <s:CurrencyValidator id="cv" /> </fx:Declarations>
<fx:Declarations> <s:CurrencyValidator id="cv_turkish" locale="tr-TR" /> </fx:Declarations>
cv.setStyle("locale", "tr-TR")
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.
Related API Elements
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".
|
Array — An Array of ValidationResult objects, with
one ValidationResult object for each field examined by
the validator.
|
Related API Elements
<?xml version="1.0" encoding="utf-8"?> <!-- 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>
Mon Nov 28 2011, 06:48 AM -08:00