Continuei usando esta dica para fazer a validação dentro de um datagrid editável.
Consegui assim: No itemEditEnd var field:MasterTextInput = dataGrid.itemEditorInstance as MasterTextInput; var v:Validator = field.currentValidator var result:ValidationResultEvent = v.validate(); if (result.type != ValidationResultEvent.VALID){ event.preventDefault() return; } Mas o problema é que isso apenas cancela a edição. Eu gostaria de fazer diferente. Eu gostaria que no evento itemEditEnd se o dado não for válido, ao invés de encerrar a edição, que voltasse pra modo de edição e o meu controle ficasse com aquela borda vermelha mostrando a msg de erro. Alguém sabe com fazer isso? On 1 abr, 17:10, "Juliano Mendes" <juliano.men...@flexpernambuco.com.br> wrote: > Você tem que criar um array de validadores e validar através de uma funçao, > exemplo: > > ARRAY DE VALIDADORE: > private var validadores:Array = new Array(); > > ADICIONANDO OS VALIDADORES DOS SEUS OBJETOS MasterTextInput. Faça isso no > CreationComplete da sua tela por exemplo: > > validadores.push(TEXT01.currentValidator); > validadores.push(TEXT02.currentValidator); > validadores.push(TEXT03.currentValidator); > > FUNÇÃO DE VALIDAÇÃO: > public function validate():Boolean{ > var valido : Boolean; > for each (var v : Validator in validadores ){ > var resultEvent : ValidationResultEvent = v.validate(); > if( resultEvent.type != ValidationResultEvent.VALID ){ > valido = false; > break; > > } else { > valido = true; > } > } > return valido; > } > > NO CLICK DO BOTÃO VOCE CHAMA A FUNCAO: > > if (validate()) { > //Todos válidos} else { > > // existe objeto invalido. > > } > > Voce pode usar também as propriedades de TriggerEvent e Trigger para apenas > disparar a validação quando um evento de um objeto for disparado. > > Boa sorte, > > Juliano > > -----Mensagem original----- > De: flexdev@googlegroups.com [mailto:flex...@googlegroups.com] Em nome de > Bruno Carneiro > Enviada em: quarta-feira, 1 de abril de 2009 16:30 > Para: flexdev > Assunto: [flexdev] MasterTextInput > > Estou usando este componente e quero fazer o seguinte. > > http://www.flexpernambuco.com.br/?p=18 > > Na minha tela tenho varios deste componente e ao clicar em um botão eu quero > que ele verifique se todos os componentes estão validados e só continue se > estiverem. > > Pq enquanto eu estou digitando eles validam normalmente, mas quando eu clico > para enviar todos os dados são enviados sem nenhuma restrição. > > No código de exemplo eu dei uma olhada mas parece que os botões não tem > nenhum código... porém estão validando os componentes. > > Alguém que conhece esse componente pode ajudar? --~--~---------~--~----~------------~-------~--~----~ 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 flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---