1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Evento validação browser

Discussão em 'Progress 4GL' iniciado por Agnaldo, Abril 1, 2015.

  1. Agnaldo

    Agnaldo Membro Ativo

    Num campo fill-in temos o evento de leave onde podemos colocar uma validação no campo.
    No browser, podemos usar "value-changed" ou "iteration-changed" para verificar se a linha (registro) foi trocado.
    Se o browser possuí uma ou mais colunas editaveis, qual seria o evento usado para validar o leave da celula/coluna e, assim, poder colocar alguma regra ali?
  2. jeffyssantos

    jeffyssantos Membro Participativo

    Olá Agnaldo, boa tarde !
    Se te entendi, tu queres validar cada saída do teu browse, nos campos 'enable', isso?
    Se sim, tu colocas a validação no "main block" . ex:

    do with frame {&frame-name}:
    on 'leave':U of my-temp-table.campo-editavel
    do:
    return.
    end.
    end.

    Abraço,
    Sds,
    Jefferson
  3. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Guina meu amigo, eu faço um row-leave e valido tudo de uma vez.
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    uma vez eu criei o on leave generico, e depois dele um case pra self:name e dai dependendo do nome do campo eu fazia a validação necessária
  5. Agnaldo

    Agnaldo Membro Ativo

    Pois é, fiz assim também.
    O chato é ter vária colunas editáveis, pois precisa testar o nome delas pra ver "o que" fazer
  6. Eilleen

    Eilleen Membro Ativo

    Boa tarde!
    Você pode colocar a validação diretamente no evento display, mas a browse tem que ser free-form...

    Exemplo de código do evento DISPLAY:

    Código:
          ttExemplo.campo1 FORMAT ">>>>>9":U
          ttExemplo.campo2 FORMAT "X(15)":U
          ttExemplo.campo3 FORMAT ">>9.99":U WIDTH 47.14
      ENABLE
          ttExemplo.campo2 VALIDATE(ttExemplo.campo2 <> "", "Campo 2 deve ser informado.")
          ttExemplo.campo3 VALIDATE(ttExemplo.campo3 >= 0, "Campo 3 não pode ser negativo.")

    Fazendo dessa forma, valida ao passar em cada um dos campos, e só dispara o value-changed depois que mudar de linha.

Compartilhe esta Página