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. Eilleen

    Eilleen Membro Ativo

    Esqueci de dizer... no VALIDATE(a, b), O "a" é a condição que tem que ser satisfeita, e o "b" é a mensagem que vai acusar se a condição não for satisfeita... ;)
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    e se precisar consultar uma tabela, usa can-find() ???? ou chama uma function e dentro dela faz o que precisar.
  3. Eilleen

    Eilleen Membro Ativo

    As duas formas são possíveis, fica a seu critério... :)
  4. Eilleen

    Eilleen Membro Ativo

    Ahhhh... só uma coisa... uma vez "apanhei" de um programa por causa disso...
    Quando vc usa essa construção, se precisar fazer uma validação que verifique mais de um campo da browse ao mesmo tempo, como nesse exemplo (exemplo ao final), se o campo2 foi alterado e está alterando o campo3 sem passar pelo value-changed (só passa quando muda de registro/linha), a validação vai considerar o valor anterior do campo2... então se quer o novo valor tem que usar o INPUT do campo...

    Exemplo de código "com erro":

    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 OR ttExemplo.campo2 = 'desconto', "Campo 3 só pode ser negativo se o campo 2 for 'desconto'.")
    Como teria que ser pra evitar o problema:

    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 OR INPUT BROWSE {&BROWSE-NAME} ttExemplo.campo2 = 'desconto', "Campo 3 só pode ser negativo se o campo 2 for 'desconto'.")
  5. jeffyssantos

    jeffyssantos Membro Participativo

    Show Eillen , validar o campo no display...me pareceu muito mais prático e rápido, do que no 'main block' como eu fazia.

    Obrigado pela dica! :)

    Abraço,
    Jefferson Santos
  6. Eilleen

    Eilleen Membro Ativo

    Que bom que serviu de ajuda!
    Fico feliz! :D :D :D

Compartilhe esta Página