<?xml version="1.0" encoding="utf-8"?>
<mx:Application name="NumberValidator_domain_test"
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white"
initialize="init();">
<mx:Script>
<![CDATA[
import mx.containers.ApplicationControlBar;
import mx.containers.Form;
import mx.containers.FormItem;
import mx.containers.FormItemDirection;
import mx.controls.Alert;
import mx.controls.Button;
import mx.controls.ComboBox;
import mx.controls.TextInput;
import mx.events.ValidationResultEvent;
import mx.validators.NumberValidator;
private var numberValidator:NumberValidator;
private var comboBox:ComboBox;
private var textInput:TextInput;
private var button:Button;
private function init():void {
comboBox = new ComboBox();
comboBox.dataProvider = ["real", "int"];
comboBox.selectedIndex = 0;
comboBox.addEventListener(Event.CHANGE, comboBox_change);
textInput = new TextInput();
textInput.restrict = "0-9\.\-";
textInput.maxChars = 10;
button = new Button();
button.label = "validate";
numberValidator = new NumberValidator();
numberValidator.domain = comboBox.selectedItem.toString();
numberValidator.source = textInput;
numberValidator.property = "text";
numberValidator.trigger = button;
numberValidator.triggerEvent = MouseEvent.CLICK;
numberValidator.addEventListener(ValidationResultEvent.INVALID, numberValidator_invalid);
numberValidator.addEventListener(ValidationResultEvent.VALID, numberValidator_valid);
var formItem1:FormItem = new FormItem();
formItem1.label = "domain:";
formItem1.addChild(comboBox);
var form1:Form = new Form();
form1.styleName = "plain";
form1.addChild(formItem1);
var appControlBar:ApplicationControlBar;
appControlBar = new ApplicationControlBar();
appControlBar.dock = true;
appControlBar.addChild(form1);
addChildAt(appControlBar, 0);
var formItem2:FormItem = new FormItem();
formItem2.direction = FormItemDirection.HORIZONTAL;
formItem2.addChild(textInput);
formItem2.addChild(button);
var form2:Form = new Form();
form2.defaultButton = button;
form2.addChild(formItem2);
addChild(form2);
}
private function comboBox_change(evt:Event):void {
numberValidator.domain = comboBox.selectedItem.toString();
}
private function numberValidator_invalid(evt:ValidationResultEvent):void {
Alert.show(evt.message);
}
private function numberValidator_valid(evt:ValidationResultEvent):void {
Alert.show(evt.type);
}
]]>
</mx:Script>
</mx:Application>