Validar campo CPF no Submit da tela com um botão

Bom dia.

Tenho um campo na tela do tipo CPF.
E tenho um botão do tipo “ligação”, que, para quando nele for clicado, deve ir para a próxima tela.

Como posso validar neste botão, se o campo CPF foi preenchido, e se ele foi validado com um CPF válido?
PS: Validar, e se não estiver de acordo, dar uma memsagem permanecer na mesma tela.

Já tentei, somente para teste, algo como:

if (empty({CPF})) {
sc_error_message(“Favor preencher o CPF!
”);
}

Mas a mensagem nem aparece, e ele sempre vai para a próxima tela.

Abraços,

Itamar Nunes

Crie um botão do tipo PHP, faça as criticas ao campo CPF e se estiver preenchido use sc_redir para próxima tela.

O Campo do tipo CPF já faz a validação de CPF Válido.

Olá Haroldo, tudo bem com você?

Primeiramente, obrigado pela resposta.
A empresa que estou começou a usar o SC.
Mas já estou quase desistindo. :confused:
Tem muita coisa que encontrei na documentação, testei e não funciona.
Ou eu estou fazendo muito errado. rs

Vou te dar uns exemplos. Mas primeiro, vamos ao caso que precisa resolver.

  • Como você comentou, criei um botão php, e usei o sc_redir (eu já havia testado isso).
    Mas como validar o campo?
    Tudo bem, posso validar se esta vazio. E se estiver vazio não redireciono.
    Até ai blz!
    Mas se o usuario informar um CPF invalido ou obrigatorio. Ao sair do campo, o campo dá a mensagem. ok!
    Mas se o usuario clicar no botão, tendo informado um CPF invalido, ele será redirecionado para a outra pagina do mesmo jeito.
    Entende?
    :confused:
    Eu teria que ter uma forma de:
  1. Ou validar o CPF novamente no botão, para ver se está valido.
  2. Ou verificar se o campo CPF é valido. Como é um framework, imagino que tenha algo como, “form.isValid” ou algo assim, setado no form, ou talvez no proprio campo CPF, para eu chegar se esta tudo (ou o campo) valido.
    Entende?

Outras coisas que tentei.
Pensei em:

  • Colocar o sc_redir no OnValidateSucess.
    O OnValidateSucess ocorre somente quando a tela foi validada e esta tudo ok, nao?

Nao seria esta ordem?

  1. OnValidate
    Execute o OnValidateFailure - Se deu erros nos campos?
    Execute o OnValidateSucess - Se nao deu erros nos campos?

Pensei em:
Usar o OnValidate e tentar testar algo ali tambem.
Mas me deparei com uma coisa:

  • No OnValidate
    Coloquei um sc_alert(‘ok’);
    Retirei todos os redirecionamentos.
    E a minha tela de alerta nem aparece!
    Eu vi isso em exemplos da documentação. :confused:

Vi também o alert(‘ok’);
Usado no OnValidateSucess
Mas quando rodo dá um erro dizendo que o “alert” nem é um comando valido!
Também vi isso na documentação.
:confused:

Fiquei bem desanimado em usar o SC.

Será que estou fazendo tudo errado?

Abraço

no proprio campo vc pode fazer esta validacao antes de apertar o botao, pelo q entendi!

Evento Ajax:

Onclick
Onchange
Onblur
Onfocus

Quanto as outras questoes, o SC tem algumas limitacoes.
Estou rodando SC dez da v4, existes alternativas …
Pesquise aqui, no forum que vc vai achar todas as suas questoes!

A validação no próprio campo não vai resolver o problema.

Entendo que tenha limitações, mas se está na documentação, nao deveria funcionar?

Na web tem muitas funções que testa cpf, crie uma biblioteca interna com essa função, habilite a biblioteca interna com a aplicação, e no botão php use a função para validar o campo. se for ok vc executa sc_redit, se não echo “CPF Inválido!”;

**** Agora se vc está em um formulário não faz sentido o botão php.
Apenas coloque na OnvalidateSuccess o sc_redir.