Jump to content

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

Link to comment
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?

Link to comment
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
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Do you agree with our terms?