Olá Eder,

O que eu fiz foi tirar proveito do DataBinding para prover a solução.
Todos entendem que o DataBinding permite ligar a propriedade de um
objeto "fonte" à propriedade de um objeto "destino" de tal forma que
se a propriedade do "fonte" mudar a propriedade do "destino" refletirá
esta mudança. Quando você trabalha com MXML o objeto destino é sempre
aquele que usa as chaves em nos seus atributos.

1. <mx:TextInput id="fonte"/>
2. <mx:Label  text="{fonte.text}"/>

No trecho acima o textInput é o objeto fonte e o Label é o objeto
destino. A semântica da Linha 2 diz o seguinte: a propriedade "text"
do "Label" deverá refletir a propriedade "text" do "TextInput".

Mas além de permitir ligar propriedades de objetos o DataBinding
permite executar funções toda vez que a propriedade do objeto "fonte"
mudar. Como no exemplo que eu te passei:

1. <mx:TextInput id="tiUsuario"/>
2. <mx:TextInput id="tiSenha" displayAsPassword="true"/>
3. <mx:Button id="btLogar" label="Logar"
                        enabled="{getLogarEnabled(tiUsuario.text,
tiSenha.text)}"/>

Os objetos fonte neste caso são o "tiUsuario" e o "tiSenha". O objeto
destino é o "btLogar". A semântica da Linha 3 diz o seguinte: execute
a função "getLogarEnabled" toda vez que ou a propriedade "text" do
"tiUsuario" mudar ou a propriedade "text" do "tiSenha" mudar.

A função "getLogarEnabled" deve retornar "true" ou "false" que é o que
será atribuído à propriedade "enabled" do botão.  Desta forma, como no
exemplo que eu te passei:

private function getLogarEnabled(usuario:String,
senha:String):Boolean
{
     return (tiUsuario.errorString == "") && (tiSenha.errorString ==
"")
                                                       && (usuario !=
"") && (senha != "");
}

A função só retornará "true" se não houver erro no "tiUsuário", se não
houver erro no "tiSenha" , se o "usuário" não for vazio e se a "senha"
não for fazia. Vale ressaltar que todas as condições devem ser
satisfeitas. Observe também que os parâmetros "usuario" e "senha"
contem os valores de "tiUsuario.text" e "tiSenha.text" que é passado
na chamada da função como pode ser visto na Linha 3.

Será que consegui explicar bem?

[]'s
Beck Novaes

On 9 maio, 13:33, Eder <[EMAIL PROTECTED]> wrote:
> SaintBr,
> eu vi isso mesmo e troquei coloquei as id dos validator mesmo assim
> deu erro aqui fatal e fechava meu browser! coisa de louco
>
>  a soluçao do Beck atendeu perfeitamente ao que eu queria!
>
> Teria como voce me explicar melhor o que foi feito ali no seu exemplo
> Beck!   Eu implementei e deu certo so queria entender ele melhor ja
> que irei usar muito ele!!
>
> muito obrigado a todos!!
>
> t+


--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a