Petrus de Melo Posted April 29, 2016 Share Posted April 29, 2016 Fala, Galera Procurei pelo Google uma forma de validar o campo de CPF ou CNPJ no momento do registro no WHMCS, mas não encontrei um que estivesse funcionando e fosse gratuito. Então com meus conhecimentos de front-end, adaptei uns javascript que encontrei pela internet para minha necessidade. Eu havia caído em várias pesquisas neste tópico aqui: Mas a solução proposta não funcionou, pelo menos não comigo. Então estou colocando o que fiz pra quem precisar :) 1. Arquivo javascript de validação e formatação de CPF e CNPJ valida_cpf_cnpj.js Upa no diretório que você quiser. 2. Edita o header.tpl - adicione onde quiser antes do fechamento da tag header {if $filename eq 'register'} <script src="js/valida_cpf_cnpj.js"></script> {literal} <script> $(function(){ // Aciona a validação e formatação ao sair do input $('#customfield1').blur(function(){ // aqui você deve colocar o ID gerado pelo campo personalizado no WHMCS var cpf_cnpj = $(this).val(); // Testa a validação e formata se estiver OK if ( formata_cpf_cnpj( cpf_cnpj ) ) { $(this).val( formata_cpf_cnpj( cpf_cnpj ) ); $('p.invalido').remove(); // remove o aviso de inválido se existir } else { $(this).val(""); if ($('p.invalido').length > 0) { } else { $(this).after( "<p class='invalido' style='color:red;'>CPF ou CNPJ inválido.</p>" ); // adiciona o aviso de inválido se não já existir logo abaixo do campo } } }); }); </script> <script> //permite apenas números no campo CPF ou CNPJ $(document).ready(function(){ function onlyNumber(fields){ $(fields).unbind('keyup').bind('keyup',function(e){ var thisVal = $(this).val(); var tempVal = ""; for(var i = 0; i<thisVal.length; i++){ if(RegExp(/^[0-9]$/).test(thisVal.charAt(i))){ tempVal += thisVal.charAt(i); if(e.keyCode == 8){ tempVal = thisVal.substr(0,i); } } } $(this).val(tempVal); }); } onlyNumber($('#customfield1')); //aqui adicione o ID gerado pelo campo do WHMCS }); </script> {/literal} {/if} 3. O que faz? Toda vez que o campo é acionado, só será permitido digitar números. Digitando letras, as letras serão excluídas logo em seguida. Após o input perder o foco, o javascript irá validar o número digitado e formatá-lo conforme for CPF ou CNPJ. Se o CPF ou CNPJ estiver incorreto, ele elimina o conteúdo digitado (para que não seja possível enviar o formulário - o campo tem que está marcado como obrigatório no whmcs) e adiciona uma tag p com aviso de CPF e CNPJ incorreto. Ao adicionar um número válido, a tag p com o aviso é eliminada e o campo é formatado. Fontes dos Scripts bases que utilizei http://www.gilcezar.eti.br/blog/permitir-apenas-digitacao-de-numeros-no-campo-com-jquery/ http://api.jquery.com/after/ http://api.jquery.com/length/ https://api.jquery.com/remove/ https://www.todoespacoonline.com/w/2014/11/como-validar-cpf-e-cnpj-com-javascript-ou-jquery/ PS: Não sou nem de longe especialista em WHMCS, meu caminho neste mundo começou há pouco tempo. Embora já tenha tentado vender hospedagem desde de 2010 (ahh se eu tivesse a cabeça que eu tenho hoje naquela época rs) Então, sintam-se a vontade para melhorar o código e partilhar novamente aqui com o pessoal :) 3 Quote Link to comment Share on other sites More sharing options...
msaulohenrique Posted April 29, 2016 Share Posted April 29, 2016 Tinha feito algo básico: Vou testar o seu. 0 Quote Link to comment Share on other sites More sharing options...
Petrus de Melo Posted April 29, 2016 Author Share Posted April 29, 2016 Fala msaulohenrique, Não havia encontrado o seu, se tivesse achado não teria me dado o trabalho de fazer outro kkkkk. Acho que não tá indexado no google ainda (infelizmente esqueci de pesquisar aqui direto). Mas enfim, só soma pra ir ajudando o pessoal :) 0 Quote Link to comment Share on other sites More sharing options...
leandrofiore Posted May 9, 2016 Share Posted May 9, 2016 Uhuuu, funcionou aqui. Obrigado @PetrusHenrique. 0 Quote Link to comment Share on other sites More sharing options...
Breno Febronio Posted May 9, 2016 Share Posted May 9, 2016 Aqui não funcionou, coloquei o cpf errado e ainda com pontos e criou a conta perfeitamente mesmo com o cpf errado. 0 Quote Link to comment Share on other sites More sharing options...
leandrofiore Posted May 9, 2016 Share Posted May 9, 2016 50 minutos atrás, Breno Febronio disse: Aqui não funcionou, coloquei o cpf errado e ainda com pontos e criou a conta perfeitamente mesmo com o cpf errado. O caminho do script (2a linha) está apontando para o lugar onde você upou o arquivo? 0 Quote Link to comment Share on other sites More sharing options...
Breno Febronio Posted May 9, 2016 Share Posted May 9, 2016 @leandrofiore Está sim. 0 Quote Link to comment Share on other sites More sharing options...
leandrofiore Posted May 9, 2016 Share Posted May 9, 2016 23 minutos atrás, Breno Febronio disse: @leandrofiore Está sim. Qual a posição do bloco? Colocou antes de fechar a </head>? 0 Quote Link to comment Share on other sites More sharing options...
Breno Febronio Posted May 9, 2016 Share Posted May 9, 2016 Sim @leandrofiore 0 Quote Link to comment Share on other sites More sharing options...
Petrus de Melo Posted May 9, 2016 Author Share Posted May 9, 2016 @Breno Febronio posta aqui o link do seu register.php para que possamos te ajudar. Você lembrou de alterar o ID no jquery da linha 7 para o ID do seu campo? 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.