Germano Assis Posted December 26, 2011 Report Share Posted December 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! Quote Link to comment Share on other sites More sharing options...
0 lucas.js Posted December 27, 2011 Report Share Posted December 27, 2011 A função remove existe? Quote Link to comment Share on other sites More sharing options...
0 Germano Assis Posted December 27, 2011 Author Report Share Posted December 27, 2011 (edited) 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. Edited December 27, 2011 by Germano Assis Quote Link to comment Share on other sites More sharing options...
Question
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 to comment
Share on other sites
2 answers to this question
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.