Bug na Validação de Campo

Boa tarde,

Possuo uma tela que tem um campo com validação, porem esta validação esta triggando quando eu clico no botão cancelar! Alguém sabe o que há de errado? Para mim não faz tanto sentido a validação ocorrer ao clicar em um botão. Será que a ordem de criação dos objetos está interferindo nisto? Segue o codigo da tela:

DEFINE MSDIALOG oDlg TITLE "Transferencia PA x CP" FROM 000, 000  TO 310, 510 COLORS 0, 16777215 PIXEL
    @ 012, 009 SAY lbl_prod PROMPT "Produto:" SIZE 025, 007 OF oDlg COLORS 0, 16777215 PIXEL
    @ 010, 044 MSGET txt_prod VAR cxt_prod SIZE 060, 010 OF oDlg COLORS 0, 16777215 ON CHANGE MsgRun('Atualizando informações visuais...','Carregando',{|| novoProd() }) PIXEL F3 "B1PAKT" VALID validProd()
    @ 028, 009 SAY lbl_quant PROMPT "Quantidade:" SIZE 030, 007 OF oDlg  COLORS 0, 16777215 PIXEL
    @ 026, 044 MSGET txt_quant VAR cxt_quant SIZE 060, 010 OF oDlg PICTURE "@E 9999.999" VALID converte() COLORS 0, 16777215  PIXEL
    @ 044, 009 SAY lbl_armazem PROMPT "Armazem:" SIZE 025, 007 OF oDlg COLORS 0, 16777215 PIXEL
    @ 042, 044 MSGET txt_loc VAR clocal SIZE 060, 010 OF oDlg COLORS 0, 16777215 ON CHANGE newArm1() PIXEL F3 "NNR"
    @ 060, 009 SAY oNewArm PROMPT "N.Armazem:" SIZE 040, 007 OF oDlg COLORS 0, 16777215 PIXEL
    @ 058, 044 MSGET txt_loc2 VAR clocal2 SIZE 060, 010 OF oDlg COLORS 0, 16777215 PIXEL WHEN .F.
    @ 075, 090 BUTTON bt_cancel PROMPT "Cancelar" SIZE 037, 012 OF oDlg ACTION Close(oDlg) PIXEL
    @ 075, 133 BUTTON bt_add PROMPT "Adicionar" SIZE 037, 012 OF oDlg ACTION MsgRun('Executando a movimentação...' ,'Carregando...' ,{|| Add()}) PIXEL
    @ 009, 111 SAY oSay1 PROMPT "Novo Produto:" SIZE 039, 007 OF oDlg COLORS 0, 16777215 PIXEL
    @ 009, 146 SAY oLblNewProd PROMPT lbl_newProd SIZE 127, 007 OF oDlg COLORS 0, 16777215 PIXEL
    @ 021, 111 SAY oSay2 PROMPT "Quantidade:" SIZE 030, 007 OF oDlg COLORS 0, 16777215 PIXEL
    @ 021, 146 SAY oLblNewQuant PROMPT lbl_newQuant SIZE 030, 007 OF oDlg FONT oFont1 PICTURE "@E 9999.9999" COLORS 0, 16777215 PIXEL
    fg_tabela()
    novoProd()
    ACTIVATE MSDIALOG oDlg

Edit 1: Sim, se eu alterar a ordem de criação dos objetos o foco começa direto no botão, não triggando a validação, porem ela realmente deveria acontecer dessa forma ou é algum erro de lógica da minha parte?

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags advpl validacao ou faça a sua própria pergunta.