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 SyntaxShow 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=","
/>
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.
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
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.
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.
<?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>