Validar ações dos botões ScriptCase

(Rico) #1

Tem como eu controlar os eventos dos botões nativos do ScriptCase.

Por exemplo, em um Formulário Grid Editável (view) ao clicar (on_click) no DELETE (sc_btn_delete) eu queo executar uma verificação (código PHP) para permitir ou não esta ação.

Isto até mesmo antes de aparecer a mensagem: Deseja realmente excluir o registro??

O mesmo para UPDATE ou mesmo INSERT.

obrigado

Ricardo

(Allan Medeiros) #2

Ricardo,
Existem os eventos onBeforeInsert, onBeforeUpdate e onBeforeDelete. Lá você pode codificar as validações de que você precisa.
[]s
Allan

(Rico) #3

Ok, mas eu preciso efetuar uma validação antes destes eventos…
por exemplo no On_click para eu mostrar a mensagem:A parcela já foi paga e não pode ser excluída.

Nos outros eventos, assim que o usuário clica no botão Delete - aparece a mensagem de confirmação.

Mas poderia ser tambem… assim, mesmo se o usuário confirmar, pelo BeforeDelete eu faço a validação.

E então, como fazer, se não puder deletar, para não executar esta ação (de deletar) ???

Consegui me explicar ??? ou seja, o problema é então cancelar a execução da ação…

Sei que não é correto, mas para testar coloquei um sc_exit()…

não deletou, mas fechei o meu formulário…

obrigado

(Rodrigo Lins) #4

Olá,

Se você utilizar a macro sc_error_message já irá travar o que estiver para ser executado depois da mensagem, então fica travado… não precisaria do sc_exit.

E você pode além de utilizar os eventos que foi citado pelo nosso companheiro, existem “variáveis” com os nomes dos botões que ocorrem no momento em que eles são clicados.

Já utilizei em outros formulários, não sei dizer se na grid editável (view) os nomes são os mesmo se está funcionando ou o que mudou exatamente, caso não funcione para este tipo de formulário seria interessante entrar em contato com o suporte do scriptcase para saber. Ou enviar um email para bugs@netmake.com.br

As variáveis são:

sc_btn_delete, sc_btn_insert, sc_btn_new e sc_btn_update

O exemplo abaixo serve para todos estes tipos.

Quando um dos botões de atualização do formulário (insert, update, delete ou new) são clicados, este evento é disponibilizado, podendo ser testado e utilizado dentro de uma fórmula php, permitindo a tomada de decisões em função do evento.

Ex:
if (sc_btn_delete)
{

      sc_error_message("Impossivel excluir este registro");

}

(Allan Medeiros) #5

Para mostrar que a parcela já foi paga e não pode ser excluída, você pode usar um evento ajax (onexit ou onchange) no campo parcela. Quando o usuário informar a parcela, vc faz a validação.
Se vc usar a macro sc_error_message(“texto”) após a exibição da mensagem, o SC impede a execução da ação.
[]s
Allan

(Rico) #6

Ok, é isto mesmo… com o sc_error_message cancela a ação…
e dá pra criar uma função de validação genérica…
me deram mais idéias… :slight_smile:

obrigado

Ricardo

(rayfcrols) #7

pessoal en que evento eu colocaria um teste ao clicar no botao novo(new)?

(Cleyton Euler) #8

Depende do que pretende fazer.