blob: 50538ff1d141086d0ec4dccc8d852bbb5ffbb27e [file] [log] [blame]
<s:VGroup xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="100%" height="100%"
updateComplete="updateCompleteHandler(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.events.ValidationResultEvent;
import mx.validators.ValidationResult;
[Bindable]
public var cvScript:spark.validators.CurrencyValidator = new spark.validators.CurrencyValidator();
private var _currencyStr:Object;
private var _currencyScriptStr:Object;
[Bindable]
public function set currencyStr(value:Object):void {
this._currencyStr = value;
}
public function get currencyStr():Object {
return this._currencyStr;
}
[Bindable]
public function set currencyScriptStr(value:Object):void {
this._currencyScriptStr = value;
}
public function get currencyScriptStr():Object {
return this._currencyScriptStr;
}
// validate a normal Currency Object
protected function uiBTMethod_clickHandler(event:MouseEvent):void
{
var resultArr:Array;
var invalidNum:int = 0;
var otherNum:int = 0;
var validNum:int = 0;
resultArr = cvDefault.validateCurrency(currencyStr, null) ;
if (resultArr != null &&
(resultArr.length == 1) &&
((resultArr[0] as ValidationResult).isError == true) ) {
invalidNum++;
} else if (resultArr != null &&
(resultArr.length == 1) &&
((resultArr[0] as ValidationResult).isError == false) ) {
otherNum++;
} else {
validNum++;
}
resultArr = cvScript.validateCurrency(currencyScriptStr, "text") ;
if (resultArr != null &&
(resultArr.length == 1) &&
((resultArr[0] as ValidationResult).isError == true) ) {
invalidNum++;
} else if (resultArr != null &&
(resultArr.length == 1) &&
((resultArr[0] as ValidationResult).isError == false) ) {
otherNum++;
} else {
validNum++;
}
uiValidLb.text = new String(validNum);
uiOtherLb.text = new String(otherNum);
uiInvalidLb.text = new String(invalidNum);
}
// validate a UI object , like TextInput
protected function uiBTMethodScript_clickHandler(event:MouseEvent):void
{
var resultArr:Array;
var invalidNum:int = 0;
var otherNum:int = 0;
var validNum:int = 0;
var prop:String = uiValidLb.text;
resultArr = cvDefault.validateCurrency(uiTI[prop], null) ;
if (resultArr != null &&
(resultArr.length == 1) &&
((resultArr[0] as ValidationResult).isError == true) ) {
invalidNum++;
} else if (resultArr != null &&
(resultArr.length == 1) &&
((resultArr[0] as ValidationResult).isError == false) ) {
otherNum++;
} else {
validNum++;
}
var propScript:String = uiInvalidLb.text;
resultArr = cvScript.validateCurrency(uiScriptTI[propScript], "text") ;
if (resultArr != null &&
(resultArr.length == 1) &&
((resultArr[0] as ValidationResult).isError == true) ) {
invalidNum++;
} else if (resultArr != null &&
(resultArr.length == 1) &&
((resultArr[0] as ValidationResult).isError == false) ) {
otherNum++;
} else {
validNum++;
}
uiValidLb.text = new String(validNum);
uiOtherLb.text = new String(otherNum);
uiInvalidLb.text = new String(invalidNum);
}
protected function updateCompleteHandler(event:FlexEvent):void
{
this.addStyleClient(cvScript);
}
private static function getIsErrorLabel(results:Array):String {
var retVal:String = 'false';
if (results != null && results.length > 0) {
var result:ValidationResult = results[0] as ValidationResult;
if (result.isError) {
retVal = "true";
}
}
return retVal;
}
]]>
</fx:Script>
<fx:Declarations>
<s:CurrencyValidator id="cvDefault" />
</fx:Declarations>
<s:RichEditableText id="uiTI" />
<mx:RichTextEditor id="uiScriptTI" />
<s:Label id="uiValidLb" />
<s:Label id="uiOtherLb" />
<s:Label id="uiInvalidLb" />
<s:Button id="uiBTMethod" label="uiBTMethod" click="uiBTMethod_clickHandler(event)"/>
<s:Button id="uiBTMethodScript" label="uiBTMethodScript" click="uiBTMethodScript_clickHandler(event)"/>
<s:Label id="uiBindableLb" text="{getIsErrorLabel(cvDefault.validateCurrency(currencyStr, null))}" />
<s:Label id="uiBindableLbScript" text="{getIsErrorLabel(cvScript.validateCurrency(currencyScriptStr, null))}" />
</s:VGroup>