[RESOLVIDO] validação no formulario

boa tarde a todos,

em um form tenho 4 campos ligados a chaves primarias externas.

eu posso preencher os 4, ou apenas 3, ou 2 ou 1.

mas 1 TEM de ser escolhido.

no onvalidate quero colocar o seguinte codigo (abaixo), que obriga a que pelo menos UM dos quatro campos esteja com conteudo

mas o manual não me anima a fazer isso, pois não posso usar set_focus no onValidate.

Sugeriram colocar no onValidateSuccess. Mas até onde eu sabia (porque já não sei mais nada) é que esse evento ocorre apenas após o sucesso da validação, então já terei gravado o dito registro. E isso não pode acontecer

então… minha logica bichou…

como posso resolver essa questão ?

exemplo do codigo:

if(empty({idprestador}) and empty({idadvogado}) and empty({idcliente}) and empty({idprocesso}) {

sc_alert(“Você deve preencher pelo menos um destinário para esse registro!!”);

sc_set_focus({idprestador}); // >>> AQUI PRECISO ANULAR A GRAVAÇÃO E PERMANECER NO FORM ATÉ QUE
// SEJA PREENCHIDO UM VALOR OU A OPERAÇÃO SEJA CANCELADA.

}

Por favor, sugestões ?

thanks

Olá,

OnValidate

Att,

Jocimar

Na onValidate apenas coloque a mensagem de erro se a condição não satisfizer.

No evento ajax onchange de todos os campos, teste a condição e use o sc_set_focus para o próximo campo vazio, sem mensagem de erro.

Luiz,
Faça o seguinte, no evento onValidate coloque o seguinte código:

if(empty({idprestador}) and empty({idadvogado}) and empty({idcliente}) and empty({idprocesso}) {

sc_error_message(“Você deve preencher pelo menos um destinário para esse registro!!”);
sc_set_focus({idprestador});

}

em ultimo tente validar isso no onBeforeInsert.

OBRIGADO PELAS DICAS.

FUNCIONOU PERFEITO

MARIn