Petrus de Melo Postado Abril 29, 2016 Compartilhar Postado Abril 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
msaulohenrique Postado Abril 29, 2016 Compartilhar Postado Abril 29, 2016 Tinha feito algo básico: Vou testar o seu. 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Petrus de Melo Postado Abril 29, 2016 Autor Compartilhar Postado Abril 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
leandrofiore Postado Maio 9, 2016 Compartilhar Postado Maio 9, 2016 Uhuuu, funcionou aqui. Obrigado @PetrusHenrique. 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Breno Febronio Postado Maio 9, 2016 Compartilhar Postado Maio 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
leandrofiore Postado Maio 9, 2016 Compartilhar Postado Maio 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Breno Febronio Postado Maio 9, 2016 Compartilhar Postado Maio 9, 2016 @leandrofiore Está sim. 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
leandrofiore Postado Maio 9, 2016 Compartilhar Postado Maio 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Breno Febronio Postado Maio 9, 2016 Compartilhar Postado Maio 9, 2016 Sim @leandrofiore 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Petrus de Melo Postado Maio 9, 2016 Autor Compartilhar Postado Maio 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.