Olá Ricardo, Eu não achei a sua solução tão ruim assim. Para mim, POGs questionáveis são aqueles cuja solução limpa está na nossa cara e por falta de conhecimento damos uma volta enorme para fazer algo que de outra forma ficaria bem melhor. Não creio que seja este o caso. O que você quer fazer o Flex não atende "por default" e por isso você foi obrigado a implementar uma solução. A única coisa que eu faria diferente seria sobre-escrever a propriedade "errorString", chamar o invalidadeProperties e mudar a cor da borda apropriadamente no "commitProperties". Acho que isso seria mais direto do que criar uma propriedade "border" e fazer o "binding" no creationComplete. De qualquer forma, acho que ambas as soluções são facilmente compreendidas por qualquer programador Flex, de modo que a solução é boa.
[]'s Beck Novaes On Apr 1, 4:33 pm, Ricardo Ramires <[EMAIL PROTECTED]> wrote: > Pessoal, to com o seguinte problema, eu tava usando na minha aplicacao > um sistema de validacao que eu mesmo criei, aii se eu considerava o > valor dos campos como nao valido eu setava a errorString = "minha > mensagem de erro" e se valido errorString = "", ele mostra a msg no > label vermelho e mostra a borda vermelha no component... tudo funciona > beleza pros components do proprio flex > > Mas qdo eu crio um component a partir do, Canvas, VBox ou Hbox a borda > nao aparece, só o tooltip aii eu fiz o q considero uma gambiarra criar > um getter setter e bindar a propriedade errorString nessa nova > variavel: > > <?xml version="1.0" encoding="utf-8"?> > <mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" > horizontalAlign="center" verticalAlign="middle" > verticalScrollPolicy="off" horizontalScrollPolicy="off" > creationComplete="creationCompleteHandler(event)"> > > <mx:Script> > <![CDATA[ > > //---------------------------------- > // borderError > //---------------------------------- > > private var _borderError:String; > [Bindable] > public function get borderError():String > { > return _borderError; > } > public function set borderError(value:String):void > { > if(value == "") > { > setStyle("borderStyle", "none"); > } > else > { > setStyle("borderStyle", "solid"); > setStyle("borderColor", 0xFF0000); > } > _text = borderError; > } > > private function > creationCompleteHandler(event:FlexEvent):void > { > BindingUtils.bindProperty(this, > "borderError", this, > "errorString"); > } > > ]]> > </mx:Script> > > </mx:HBox> > > Funciona, mas to achando muita porquice, alguem tem uma idéia melhor? > > Grato, > > Ricardo Ramires --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---