Package | spark.validators |
Class | public class CurrencyValidator |
Inheritance | CurrencyValidator NumberValidatorBase GlobalizationValidatorBase GlobalizationBase AdvancedStyleClient flash.events.EventDispatcher |
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." />
See also
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 | ||
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 | ||
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 | ||
clearStyle(styleProp:String):void
Deletes a style property from this component instance. | AdvancedStyleClient | ||
getClassStyleDeclarations():Array
Returns an Array of CSSStyleDeclaration objects for the type selector
that applies to this component, or null if none exist. | AdvancedStyleClient | ||
getStyle(styleProp:String):* [override]
Gets a style property that has been set anywhere in this
component's style lookup chain. | GlobalizationBase | ||
hasCSSState():Boolean
Returns true if currentCSSState is not null. | AdvancedStyleClient | ||
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 | ||
matchesCSSState(cssState:String):Boolean
Returns true if cssState matches currentCSSState. | AdvancedStyleClient | ||
matchesCSSType(cssType:String):Boolean
Determines whether this instance is the same as, or is a subclass of,
the given type. | AdvancedStyleClient | ||
notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void
Propagates style changes to the children of this style client
instance. | AdvancedStyleClient | ||
regenerateStyleCache(recursive:Boolean):void
Sets up the internal style cache values so that the
getStyle()
method functions. | AdvancedStyleClient | ||
registerEffects(effects:Array):void
Registers the EffectManager as one of the event listeners
for each effect event. | AdvancedStyleClient | ||
setStyle(styleProp:String, newValue:*):void
Sets a style property on this component instance. | AdvancedStyleClient | ||
styleChanged(styleProp:String):void
Detects changes to style properties. | AdvancedStyleClient | ||
stylesInitialized():void
Flex calls the stylesInitialized() method when
the styles for a component are first initialized. | AdvancedStyleClient | ||
validate(value:Object = null, suppressEvents:Boolean = false):ValidationResultEvent
Performs validation and optionally notifies
the listeners of the result. | GlobalizationValidatorBase | ||
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 |
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.
public function get currencyISOCode():String
public function set currencyISOCode(value:String):void
See also
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.
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.
public function get currencySymbol():String
public function set currencySymbol(value:String):void
See also
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.
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.
public function get negativeCurrencyFormat():uint
public function set negativeCurrencyFormat(value:uint):void
ArgumentError — if the assigned value is not between 0 and 15.
|
See also
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.
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.
currencyISOCode
or the currencySymbol
in the currency string.currencyISOCode
or the currencySymbol
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.
public function get positiveCurrencyFormat():uint
public function set positiveCurrencyFormat(value:uint):void
ArgumentError — if the assigned value is not between 0 and 3.
|
See also
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.
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:
UIComponent
by calling the
UIComponent
's addStyleClient
method.
<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.
See also
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.
|
See also
<?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>