Bom dia.
O evento OnValidate ocorre quando você faz um submit no formulário: Incluir, Atualizar ou Excluir.
Nele o scriptcase ainda não chegou no banco para modificar as informações.
Qualquer validação necessária antes de gravar os dados deve ser feita nesse evento, através de comandos php ou de macros do SC.
Por exemplo: num cadastro de motoristas verificar se a pessoa tem ao menos 18 anos.
$dataatual = date(“Y-m-d”);
{dif_data} = sc_date_dif_2({data_nasc}, “aaaa-mm-dd”, $dataatual, “aaaa-mm-dd”, 1);
if ({dif_data[2]} < 18)
{
sc_error_message(“Idade mínima deve ser 18 anos.”);
}
Se a validação estiver ok, ou seja, se não entrar no if, passa para o evento OnValidateSucess.
Se a validação estiver errada, ou seja, se entrar no if, passa para o evento OnValidateFailure.
Na verdade, eu nunca precisei dos dois últimos eventos, sempre usei só o OnValidate.
Pois quando encontra o sc_error_message, ele não grava os dados.
Espero ter ajudado.
Até +