PEX - Validação de Campos
Validar Campo Data ao Sair do Formulário
Neste tópico veremos como validar um campo de data ao sair do formulário utilizando PEX.
Exemplo de Código
if aoFormularios.GetJSON('ID_DO_CAMPO').GetDt('TEXTO') = 0 then begin aoMensagem.SetStr('MENSAGEM', 'O campo de data é obrigatório!'); AbortarOperacao; end;
No exemplo acima, o código verifica se o campo de data está vazio (igual a 0) e, caso esteja, exibe uma mensagem e aborta a operação.
Validar Campo Somente Leitura
Neste tópico veremos como validar um campo que está como somente leitura, mas que é obrigatório no processo.
Quando um campo é configurado como somente leitura, o usuário não consegue preenchê-lo manualmente, mas pode ser necessário garantir que ele esteja preenchido por algum evento ou processo automático.
Exemplo de código
1if aoFormularios.GetJSON('ID_DO_CAMPO').GetStr('TEXTO') = '' then begin aoMensagem.SetStr('MENSAGEM', 'O campo obrigatório não foi preenchido!'); AbortarOperacao; end;
No exemplo acima, o código verifica se o campo está vazio e, caso esteja, exibe uma mensagem e aborta a operação.
Validar Campos ou Dados via PEX
Este tópico tem a finalidade de abordar os principais validadores presentes no PEX, como bem sabemos, o PEX nas versões maiores que 12 possuem um assistente PEX, no PEX existem também muitas rotinas e/ou funções publicadas que podem ser acessadas via menu de contexto, conforme imagem abaixo:
As funções abordadas serão:
- TSTR.Testa_CNPJ(Codigo);
- TSTR.Testa_CPF(Codigo);
- TSTR.of_IsNotNullEMA(asText);
- TSTR.of_IsNullEMA(asText);
- TSTR.of_VerificaEmail(asTexto, abVerificaNull);
- TSTR.of_TemNumero(s);
- TSTR.of_TemTexto(s, abValida);
- TSTR.of_UFValido(asUF);
- TSTR.of_IsCodigoBarra(Codigo);
Valida CNPJ
Esta função deve ser utilizada com uma variável do PEX, variável do processo e/ou formulário do processo afim de validar um CPNJ, retornando False (Booleana) no caso de digitado um CPNJ inválido por engano ou algo do gênero.
var CNPJ : string; Resposta : Boolean; begin CPNJ := '07297774000175'; //CNPOJ Informado em um formulario e/ou variavel do tipo texto Resposta := TSTR.Testa_CNPJ(CNPJ); -- Retorna True ou False para varaivel boleana end;