<?xml version="1.0" encoding="utf-8"?>
<mx:Application
layout="vertical"
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:validators="com.adobe.cairngorm.validation.*">
<mx:Script>
<![CDATA[
import combo.ComboPM2;
[Bindable]
private var model:ComboPM2 = new ComboPM2();
]]>
</mx:Script>
<validators:ValidatorGroupSubscriber>
<validators:ValidatorSubscriber validator="{ model.domain.validatorGroup.firstnameValidator }"
listener="{ firstNamesCombo }"/>
<validators:ValidatorSubscriber validator="{ model.domain.validatorGroup.lastnameValidator }"
listener="{ lastNamesCombo }"/>
</validators:ValidatorGroupSubscriber>
<mx:Form width="300">
<mx:FormItem label="firstnames">
<mx:ComboBox id="firstNamesCombo"
labelField="name" dataProvider="{ model.firstNames }"
change="model.selectFirstName(firstNamesCombo.selectedItem)"
prompt="Select"/>
</mx:FormItem>
<mx:FormItem label="lastnames">
<mx:ComboBox id="lastNamesCombo"
labelField="name" dataProvider="{ model.lastNames }"
change="model.selectLastName(lastNamesCombo.selectedItem)"
prompt="Select"/>
</mx:FormItem>
<mx:FormItem
width="100%"
backgroundColor="{ model.domain.validatorGroup.isValid ? 0xFF00 : 0xFF0000 }"
label="FORM VALIDITY">
<mx:Label text="{ model.domain.validatorGroup.isValid }"/>
</mx:FormItem>
</mx:Form>
<mx:Button
label="force validation"
click="model.domain.validatorGroup.validate()"/>
<mx:Button
label="reset listeners"
click="model.domain.validatorGroup.reset()"/>
<mx:Button
fillColors="{ model.domain.validatorGroup.enabled ? [ 0xFF00, 0xCC00 ] : [ 0xFF0000, 0xCC0000 ] }"
label="{ model.domain.validatorGroup.enabled ? 'disable ' : 'enable ' } validatorGroup"
click="model.domain.validatorGroup.enabled = !model.domain.validatorGroup.enabled"/>
</mx:Application>