You can’t use method calls for
validator fields, it has to be a property on an object that lives in the
document. You might need a Model in the middle that you can use for binding
instead.
<mx:Model id=”proxy”>
<tdsc> {ModelLocator.getInstance().nota.DE50NT==undefined
? '':ModelLocator.getInstance().nota.DE50NT}</tdsc>
</mx:Model>
<mx:StringValidator field=”proxy.tdsc” …
listener=”tdsc_1” />
Something like that,
Matt
From: flexcoders@yahoogroups.com [mailto:flexcoders@yahoogroups.com] On Behalf Of Devis
Sent: Thursday, November 17, 2005
4:46 AM
To: flexcoders@yahoogroups.com
Subject: [flexcoders]
StringValidator don't work
Hi, i don't understand because my Validator return always
false plas help me.
public function Salva():Void{
if(mx.validators.Validator.isStructureValid(this,'ModelLocator.getInstance().nota')==true)
{
if(ModelLocator.getInstance().nota==undefined)
{
var c:CNoteVO = new CNoteVO();
c.pk=new CNotePK();
c.pk.STAGNT=pfvo.pfvopk.stagpf;
c.pk.MODENT=pfvo.pfvopk.modepf;
c.pk.MATENT=pfvo.pfvopk.matepf;
c.DE50NT=tdsc_1.text;
c.DE20NT=tdsc_2.text;
c.pk.POSINT=ModelLocator.getInstance().note.length+1;
ModelLocator.getInstance().note.addItem(c);
EventBroadcaster.getInstance().broadcastEvent("note_insert",c);
}
else
{
EventBroadcaster.getInstance().broadcastEvent("note_insert",ModelLocator.getInstance().nota);
ModelLocator.getInstance().nota=undefined;
}
}
else
mx.controls.Alert.show("Non posso salvare
informazioni non valide!!", "Controllo di validità",
Alert.OK);
}
<?xml version="1.0"
encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.macromedia.com/2003/mxml"
height="100%" width="100%" visible="true"
xmlns="*">
<mx:Script source="../as/StringEx.as"/>
<mx:Script source="SchedaNoteViewer.as"/>
<!-- NOTE -->
<mx:Binding source="{ModelLocator.getInstance().nota.DE50NT==undefined
? '':ModelLocator.getInstance().nota.DE50NT}"
destination="tdsc_1.text" />
<mx:Binding source="{ModelLocator.getInstance().nota.DE20NT==undefined
? '':ModelLocator.getInstance().nota.DE20NT}" destination="tdsc_2.text"
/>
<mx:Binding source="tdsc_1.text"
destination="ModelLocator.getInstance().nota.DE50NT" />
<mx:Binding source="tdsc_2.text"
destination="ModelLocator.getInstance().nota.DE20NT" />
<!--Imposto i campi obbligatori -->
<mx:StringValidator field="ModelLocator.getInstance().nota.DE50NT"
minLength="1" maxLength="100"
requiredFieldError="Campo obbligatorio" tooLongError="Max
100 caratteri" listener="tdsc_1" />
<mx:StringValidator field="ModelLocator.getInstance().nota.DE20NT"
minLength="1" maxLength="100"
requiredFieldError="Campo obbligatorio"
tooLongError="Max 100 caratteri"
listener="tdsc_2"/>
<mx:Panel id="panel6" width="100%"
panelBorderStyle="roundCorners"
headerColors="[#7D8FA8,#FFFFFF]"
title="{PfVO(pfvo[0]).de50pf}">
<mx:DataGrid
dataProvider="{ModelLocator.getInstance().note}"
cellPress="ModelLocator.getInstance().nota=event.target.selectedItem"
width="100%" id="dgnote">
<mx:columns>
<mx:Array>
<mx:DataGridColumn columnName="DE50NT"
headerText="Note per il laboratorio" width="300"/>
<mx:DataGridColumn columnName="DE20NT"
headerText="Abb. Filo per ricamo" width="300"/>
</mx:Array>
</mx:columns>
</mx:DataGrid>
<mx:Form width="100%">
<mx:VBox>
<mx:FormItem label="Note
Laboratorio" required="true" >
<mx:TextInput id="tdsc_1" width="300"
text="{ModelLocator.getInstance().nota.DE50NT}"/>
</mx:FormItem>
<mx:FormItem
label="Abbinamento filo per ricamo" required="true">
<mx:TextInput id="tdsc_2" width="300"
text="{ModelLocator.getInstance().nota.DE20NT}"/>
</mx:FormItem>
</mx:VBox>
</mx:Form>
<mx:ControlBar width="100%">
<mx:Spacer width="100%"/>
<mx:Button
icon="@Embed('/images/icons/note_add.png')"
label="Nuovo" click="Nuovo()"/>
<mx:Button
icon="@Embed('/images/icons/note_edit.png')"
label="Salva" click="Salva()"/>
<mx:Button label="Elimina" icon="@Embed('/images/icons/note_delete.png')"
click="Delete()"/>
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
YAHOO! GROUPS LINKS