Germano Assis Postado Dezembro 26, 2011 Denunciar Share Postado Dezembro 26, 2011 Pessoal customizei o Ketchup p/ fazer a validação do CPF porém depois que apliquei o MaskedInput ficou dando pau.Erro como aparece no console do Chrome:Uncaught TypeError: Cannot read property 'message' of undefined g.ketchup.validateElementjquery.ketchup.all.min.js:28 g.ketchup.bindValidationEventjquery.ketchup.all.min.js:27 f.event.handlejquery-1.6.2.min.js:17 f.event.add.k.i.handle.kjquery-1.6.2.min.js:16 f.event.triggerjquery-1.6.2.min.js:17 f.fn.extend.triggerjquery-1.6.2.min.js:17 f.e.extend.eachjquery-1.6.2.min.js:16 f.e.fn.e.eachjquery-1.6.2.min.js:16 f.fn.extend.triggerjquery-1.6.2.min.js:17 g.ketchup.bindValidationEventBridgejquery.ketchup.all.min.js:27 f.event.handlejquery-1.6.2.min.js:17 f.event.add.k.i.handle.kjquery-1.6.2.min.js:16 Erro como aparece no console do Firefox: h[i] is undefined [Parar neste erro] c){var d=[],h=b.data(this.dataNames.va...lidationEvents:function(b){for(var c= Função do ketchup p/ verificar o CPF $.ketchup.validation('v_cpf', 'É necessário digitar um cpf válido!', function (form, el, value) { var resultado = validaCPF(value); if (resultado) { return true; } else { return false; } }); Mascarando o CPF $("#cpf").mask("999.999.999-99"); Função validaCPF function validaCPF(ocpf) { var cpf = ocpf; var filtro = /^\d{3}.\d{3}.\d{3}-\d{2}$/i; if(!filtro.test(cpf)){ if (cpf.length != 11) return false; } cpf = remove(cpf, "."); cpf = remove(cpf, "-"); if(cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){ return false; } soma = 0; for(i = 0; i < 9; i++) soma += parseInt(cpf.charAt(i)) * (10 - i); resto = 11 - (soma % 11); if(resto == 10 || resto == 11) resto = 0; if(resto != parseInt(cpf.charAt(9))){ return false; } soma = 0; for(i = 0; i < 10; i ++) soma += parseInt(cpf.charAt(i)) * (11 - i); resto = 11 - (soma % 11); if(resto == 10 || resto == 11) resto = 0; if(resto != parseInt(cpf.charAt(10))) { return false; } return true; } Input do CPF <input type="text" id="cpf" name="cpf" size="14" value="" data-validate="validate(v_cpf)"/>Qualquer dica será muito bem vinda! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lucas.js Postado Dezembro 27, 2011 Denunciar Share Postado Dezembro 27, 2011 A função remove existe? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Germano Assis Postado Dezembro 27, 2011 Autor Denunciar Share Postado Dezembro 27, 2011 (editado) A função remove existe?Exitia sim.Acabei mudando algumas funções e funcionou :)Função do ketchup p/ verificar o CPF$.ketchup.validation('v_cpf', 'O C.P.F. digitado é inválido!', function () { return validaCPF($("#cpf").val()); }); Função validaCPF function validaCPF(ocpf) { var cpf = ocpf; var filtro = /^\d{3}.\d{3}.\d{3}-\d{2}$/i; if(!filtro.test(cpf)){ if (cpf.length != 11) return false; } exp = /\.|\-/g; cpf = cpf.toString().replace( exp, "" ); if(cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){ return false; } soma = 0; for(i = 0; i < 9; i++) soma += parseInt(cpf.charAt(i)) * (10 - i); resto = 11 - (soma % 11); if(resto == 10 || resto == 11) resto = 0; if(resto != parseInt(cpf.charAt(9))){ return false; } soma = 0; for(i = 0; i < 10; i ++) soma += parseInt(cpf.charAt(i)) * (11 - i); resto = 11 - (soma % 11); if(resto == 10 || resto == 11) resto = 0; if(resto != parseInt(cpf.charAt(10))) { return false; } return true; }O resto continua igual e a mascara está sendo aplicada. E está tudo funcionando.Espero que seja util para alguém. Editado Dezembro 27, 2011 por Germano Assis Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Germano Assis
Pessoal customizei o Ketchup p/ fazer a validação do CPF porém depois que apliquei o MaskedInput ficou dando pau.
Erro como aparece no console do Chrome:
Erro como aparece no console do Firefox: Função do ketchup p/ verificar o CPF Mascarando o CPF Função validaCPF Input do CPFQualquer dica será muito bem vinda!
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.