formvalid property of the component.
[ChangeEvent("formValidChanged")]
public function get formValid():Boolean
{
return _formValid;
}
public function set formValid( formValid:Boolean ):void
{
setFormValid( formValid );
}
private function setFormValid( formValid:Boolean ):void
{
if ( formValid != _formValid )
{
_formValid = formValid;
dispatchEvent(new Event("formValidChanged"));
}
}
I've put Alerts in the formsValid function and it's getting to the
function, but it doesn't seem to be recieving the
"formValidationChange" event everytime it's set to a new value. I'm at
a loss...
If I don't use a state and put in this button on the page initially
all is good.
--- In [email protected], "Matt Chotin" <[EMAIL PROTECTED]> wrote:
>
> What is formValidationChanged the event on? The formValid property I
> hope? Are you sure you're not going into the formsValid method? Try
> naming the arguments array to something different like args, arguments
> is a reserved word and may be acting funky here (though it should work
> correctly in this case I think).
>
> Matt
>
> -----Original Message-----
> From: [email protected] [mailto:[EMAIL PROTECTED] On
> Behalf Of sof4real03
> Sent: Monday, April 24, 2006 9:03 PM
> To: [email protected]
> Subject: [flexcoders] mx:States and databinding issue
>
> I have a custom form component that broadcasts an event every time the
> form changes validation states:
>
> ContactDetails.mxml:
>
> [ChangeEvent("formValidationChanged")]
>
> Now the parent component of "ContactDetails" is
> CreateClientProfile.mxml and it uses an accordian to instantiate the
> ContactDetails form.
>
> Finally "CreateClientProfile" is a state of another component.
>
> Ok, so in ContactDetails, I have the following code:
>
> <mx:states>
> <mx:State name="default" id="defaultCCView">
> <mx:AddChild target="{parentDocument.clientPanelControl}">
> <mx:Button id="addClientBtn" label="Add My Client"/>
> </mx:AddChild>
> <mx:SetProperty target="{addClientBtn}" name="enabled" value="{
> formsValid(personalDetails.formValid,contactDetails.formValid) }"/>
> <mx:SetEventHandler target="{addClientBtn}" name="click"
> handler="submitClientForm()"/>
> </mx:State>
> </mx:states>
>
> <mx:Script>
> <![CDATA[
>
> public function formsValid(...arguments:Array):Boolean
> {
> for(var i:int = 0; i < arguments.length; ++i)
> {
> if( arguments[i] == false )
> {
> return false;
> }
> }
> return true;
> }
>
> So, in the CreateClientProfile.mxml, I create a button on it's parent
> container, ClientPanel.mxml.
>
> ClientPanel -> CreateClientProfile -> ContactDetails
>
> Eventhough I'm broadcasting the "FormValidationChange" event from the
> ContactDetails component it doesn't get picked up from the state that
> creates the button though it's using databinding on the formsvalid
> function. Any insight?
>
> Thanks,
> Sof
>
>
>
>
>
>
> --
> 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
>
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
SPONSORED LINKS
| Web site design development | Computer software development | Software design and development |
| Macromedia flex | Software development best practice |
YAHOO! GROUPS LINKS
- Visit your group "flexcoders" on the web.
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

