Jump to content
Sign in to follow this  
Petrus de Melo

Validar cpf e cnpj no whmcs - 2016

Recommended Posts

Fala, Galera

Procurei pelo Google uma forma de validar o campo de CPF ou CNPJ no momento do registro no WHMCS (link do PDH), 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 (link do PDH)
		
			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 (link do PDH)
 
		});
 
        </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 :)

  • Like 3

Share this post


Link to post
Share on other sites

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 :)

Share this post


Link to post
Share on other sites

Aqui não funcionou, coloquei o cpf errado e ainda com pontos e criou a conta perfeitamente mesmo com o cpf errado.

 


Conecte Host - Soluções em Nuvem | Hospedagem Cloud | Registro de Domínios | Cloud Server | Servidores Dedicado EUA e BR | Cloud Server cPanel

Share this post


Link to post
Share on other sites
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?


Vertium Soluções - Consultoria e Serviços de TI

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.




×
×
  • Create New...