包 | spark.validators |
类 | public class CurrencyValidator |
继承 | CurrencyValidator NumberValidatorBase GlobalizationValidatorBase GlobalizationBase AdvancedStyleClient EventDispatcher Object |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
CurrencyValidator
类确保字符串根据区域设置约定表示有效的货币金额。该类使用 locale
样式以指定区域设置 ID。
验证程序可以确保货币字符串属于给定范围(由 minValue
和 maxValue
属性指定),是一个整数(由 domain
属性指定),是一个非负数(由 allowNegative
属性指定),正确指定负数和正数,具有正确的货币 ISO 代码或货币符号,以及不超过 fractionalDigits
的指定数字。验证程序通过使用 flash.globalization.CurrencyFormatter
类设置默认属性值,因此区域设置特定的值由操作系统提供。
flash.globalization.CurrencyFormatter
类使用基础操作系统来提供区域设置特定的数据。如果操作系统未提供货币格式,该类将提供回退功能。
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." />
相关 API 元素
方法 | 由以下参数定义 | ||
---|---|---|---|
构造新的 CurrencyValidator 对象以根据给定区域设置的约定验证表示货币金额的数字。 | CurrencyValidator | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
删除此组件实例的样式属性。 | AdvancedStyleClient | ||
将事件调度到事件流中。 | EventDispatcher | ||
为应用于该组件的类型选择器返回 CSSStyleDeclaration 对象数组,如果不存在则返回 null。 | AdvancedStyleClient | ||
[覆盖]
获取已在此组件的样式查找链中的某个位置设置过的样式属性。 | GlobalizationBase | ||
如果 currentCSSState 不为 null,则返回 true。 | AdvancedStyleClient | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
该类或扩展该类的类在 MXML 声明中使用时,调用 initialized 方法。 | AdvancedStyleClient | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
如果 cssState 与 currentCSSState 匹配,则返回 true。 | AdvancedStyleClient | ||
确定此实例与给定类型相同,还是属于给定类型的子类。 | AdvancedStyleClient | ||
将样式更改传播到此样式客户端实例的子项。 | AdvancedStyleClient | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置内部样式缓存值,以便 getStyle() 方法可以起作用。 | AdvancedStyleClient | ||
将 EffectManager 注册为每个效果事件的事件侦听器之一。 | AdvancedStyleClient | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
设置循环操作动态属性的可用性。 | Object | ||
对此组件实例设置样式属性。 | AdvancedStyleClient | ||
检测对样式属性的更改。 | AdvancedStyleClient | ||
首次初始化组件样式时,Flex 会调用 stylesInitialized() 方法。 | AdvancedStyleClient | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
执行验证并(可选)将结果通知给侦听器。 | GlobalizationValidatorBase | ||
[静态]
调用验证程序数组中的所有验证程序。 | GlobalizationValidatorBase | ||
用于从自定义验证函数内调用验证程序的方便方法。 | CurrencyValidator | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
currencyISOCode | 属性 |
currencyISOCode:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
正在使用的区域设置的三字母 ISO 4217 币种代码。
该属性用于使用 validate()
方法验证在输入货币金额中显示的货币字符串或符号。
此属性由构造函数基于所使用的实际区域设置进行初始化。当使用回退区域设置时,此属性反映回退区域设置的首选币种代码、默认币种代码。
默认值取决于实际区域设置和操作系统
。
此属性可用作数据绑定的源。修改此属性后,将调度 change
事件。
实现
public function get currencyISOCode():String
public function set currencyISOCode(value:String):void
相关 API 元素
currencyStringError | 属性 |
currencyStringError:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
当货币符号或货币 ISO 代码重复或位于不正确的位置时将显示的错误消息。
默认值为 "Currency name is repeated or not correct."。
此属性可用作数据绑定的源。修改此属性后,将调度 change
事件。
实现
public function get currencyStringError():String
public function set currencyStringError(value:String):void
currencySymbol | 属性 |
currencySymbol:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
正在使用的区域设置的货币符号或字符串。
在使用 validate()
方法验证货币金额时该属性用作货币符号。验证字符串中的货币符号或货币名称必须匹配 currencySymbol
属性的值或 currencyISOCode
属性的值。
此属性由构造函数基于所使用的实际区域设置进行初始化。当使用回退区域设置时,此属性反映回退区域设置的首选货币符号、默认货币符号。
默认值取决于实际区域设置和操作系统
。
此属性可用作数据绑定的源。修改此属性后,将调度 change
事件。
实现
public function get currencySymbol():String
public function set currencySymbol(value:String):void
相关 API 元素
negativeCurrencyFormat | 属性 |
negativeCurrencyFormat:uint
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
数值,用于指示负数货币金额的验证模式。该属性定义货币符号和负号或圆括号相对于货币金额的数字部分的位置。该属性用于验证所输入的货币字符串是否符合负数金额的模式。
此属性的值必须是在下表中定义的常量之一。
- “¤”符号表示 currencyISOCode 或 currencySymbol 在货币字符串中的位置。
- “-”字符表示 negativeNumberSymbol 的位置。
- “n”字符表示货币金额。
负值货币格式类型 | 格式化图案 |
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 ¤) |
默认值取决于实际区域设置和操作系统。
此属性可用作数据绑定的源。修改此属性后,将调度 change
事件。
实现
public function get negativeCurrencyFormat():uint
public function set negativeCurrencyFormat(value:uint):void
引发
ArgumentError — 如果指定的值不介于 0 到 15 之间。
|
相关 API 元素
negativeCurrencyFormatError | 属性 |
negativeCurrencyFormatError:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
当所输入的货币字符串的负数格式不正确时将显示的错误消息。
默认值为 "The negative format of the input currency is incorrect."。
此属性可用作数据绑定的源。修改此属性后,将调度 change
事件。
实现
public function get negativeCurrencyFormatError():String
public function set negativeCurrencyFormatError(value:String):void
positiveCurrencyFormat | 属性 |
positiveCurrencyFormat:uint
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
数值,用于指示正数货币金额的验证模式。此属性定义货币符号相对于货币金额数值部分的位置。该属性用于验证所输入的货币字符串是否符合正数金额的模式。
此属性的值必须是在下表中定义的常量之一。
- “¤”符号表示
currencyISOCode
或currencySymbol
在货币字符串中的位置。 - “n”字符表示
currencyISOCode
或currencySymbol
在货币字符串中的位置。
正值货币格式类型 | 格式化图案 |
0 | ¤n |
1 | n¤ |
2 | ¤ n |
3 | n ¤ |
默认值取决于实际区域设置和操作系统。
此属性可用作数据绑定的源。修改此属性后,将调度 change
事件。
实现
public function get positiveCurrencyFormat():uint
public function set positiveCurrencyFormat(value:uint):void
引发
ArgumentError — 如果指定的值不介于 0 到 3 之间。
|
相关 API 元素
positiveCurrencyFormatError | 属性 |
positiveCurrencyFormatError:String
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
当货币金额的正数格式不正确时将显示的错误消息。
默认值为 "The positive format of the input currency is incorrect."。
此属性可用作数据绑定的源。修改此属性后,将调度 change
事件。
实现
public function get positiveCurrencyFormatError():String
public function set positiveCurrencyFormatError(value:String):void
CurrencyValidator | () | 构造函数 |
public function CurrencyValidator()
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
构造新的 CurrencyValidator
对象以根据给定区域设置的约定验证表示货币金额的数字。
此类的区域设置由区域设置样式属性提供。可以使用下列方法来设置区域设置
样式:
-
调用
UIComponent
的addStyleClient
方法,从UIComponent
继承样式。 - 在 MXML 声明中使用该类,并从包含声明的文档中继承区域设置。
<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")
如果 locale
样式不是由以上方式之一设置的,则该类的实例会作为 StyleClient
添加至 topLevelApplication
中,并因此在调用 locale
从属属性 getter 或 locale
从属方法时,会从 topLevelApplication
对象中继承 locale
样式。
与货币字符串格式相关的属性会基于区域设置设置为默认值。
注意:在使用回退区域设置时,货币属性将设置为 en_US 区域设置的默认值,这可能会与验证过程所预期的货币不匹配。在验证货币金额前,最好先检查 currencySymbol
和 currencyISOCode
属性值。
相关 API 元素
validateCurrency | () | 方法 |
public function validateCurrency(value:Object, baseField:String):Array
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
用于从自定义验证函数内调用验证程序的方便方法。每个标准 Flex 验证程序都有一个类似的方便方法。调用者必须检查在返回的数组中的 ValidationResult
对象以获取验证状态。
参数
value:Object — 要验证的货币数字字符串。除 ascii 减号外,该数字字符串还可以使用 unicode 减号 0x2212、0xFE63、0xFF0D。
| |
baseField:String — 在 value 参数中指定的子字段的文本表示形式。例如,如果 value 参数指定 value.number,则 baseField 值为“number”。
|
Array — ValidationResult 对象的数组,验证程序检查的每个字段都有一个 ValidationResult 对象。
|
相关 API 元素
<?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>
Tue Jun 12 2018, 11:04 AM Z