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
-~----------~----~----~----~------~----~------~--~---

Responder a