let msg; const dynamicErrorMsg = function () { return msg; }; jQuery.validator.addMethod( "uniquemail", function (value, element) { var data = {}; data["value"] = jQuery.trim(value); $.ajax({ url: SITE + "/cadastro/validate/email", dataType: "json", async: false, type: "POST", global: false, data: data, success: function (data) { temp = data.validate; }, }); return temp; }, "Email já cadastrado. Efetuar Login" ); jQuery.validator.addMethod("cpf", function(value, element) { cpf = jQuery.trim(value); cpf = cpf.replace(/\D/g, ''); if(cpf.toString().length != 11 || /^(\d)\1{10}$/.test(cpf)) return false; var result = true; [9,10].forEach(function(j){ var soma = 0, r; cpf.split(/(?=)/).splice(0,j).forEach(function(e, i){ soma += parseInt(e) * ((j+2)-(i+1)); }); r = soma % 11; r = (r <2)?0:11-r; if(r != cpf.substring(j, j+1)) result = false; }); return result; }, "Digite um CPF válido"); jQuery.validator.addMethod("cnpj", function(cnpj, element) { cnpj = jQuery.trim(cnpj); cnpj = cnpj.replace('/',''); cnpj = cnpj.replace('.',''); cnpj = cnpj.replace('.',''); cnpj = cnpj.replace('-',''); var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais; digitos_iguais = 1; if (cnpj.length < 14 && cnpj.length < 15){ return false; } for (i = 0; i < cnpj.length - 1; i++){ if (cnpj.charAt(i) != cnpj.charAt(i + 1)){ digitos_iguais = 0; break; } } if (!digitos_iguais){ tamanho = cnpj.length - 2 numeros = cnpj.substring(0,tamanho); digitos = cnpj.substring(tamanho); soma = 0; pos = tamanho - 7; for (i = tamanho; i >= 1; i--){ soma += numeros.charAt(tamanho - i) * pos--; if (pos < 2){ pos = 9; } } resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; if (resultado != digitos.charAt(0)){ return false; } tamanho = tamanho + 1; numeros = cnpj.substring(0,tamanho); soma = 0; pos = tamanho - 7; for (i = tamanho; i >= 1; i--){ soma += numeros.charAt(tamanho - i) * pos--; if (pos < 2){ pos = 9; } } resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; if (resultado != digitos.charAt(1)){ return false; } return true; }else{ return false; } }, "Digite um CNPJ válido"); jQuery.validator.addMethod( "uniquecpf", function (value, element) { var data = {}; data["value"] = jQuery.trim(value); $.ajax({ url: SITE + "/cadastro/validate/cpf", dataType: "json", async: false, type: "POST", global: false, data: data, success: function (data) { temp = data.validate; if (!temp) { msg = "CPF em uso no e-mail: " + data.email + ". Efetuar Login"; } else { msg = ""; } }, }); return temp; }, dynamicErrorMsg ); jQuery.validator.addMethod( "uniquecnpj", function (value, element) { var data = {}; data["value"] = jQuery.trim(value); $.ajax({ url: SITE + "/cadastro/validate/cnpj", dataType: "json", async: false, type: "POST", global: false, data: data, success: function (data) { temp = data.validate; if (!temp) { msg = "CNPJ em uso no e-mail: " + data.email + ". Efetuar Login"; } else { msg = ""; } }, }); return temp; }, dynamicErrorMsg ); jQuery.validator.addMethod("validacep", function(value, element) { var data = {}; data['value'] = jQuery.trim(value); $.ajax({ url: SITE + "/cadastro/validate/cep", dataType: 'json', async:false, type: "POST", global: false, data: data, success: function(data){ $('#cidade').val( data.cidade ); $('#pf_cidade').val( data.cidade ); $('#pj_cidade').val( data.cidade ); $('#estado').val( data.estado ); $('#pf_estado').val( data.estado ); $('#pj_estado').val( data.estado ); $('#bairro').val( data.bairro ); $('#pf_bairro').val( data.bairro ); $('#pj_bairro').val( data.bairro ); $('#endereco').val( data.endereco ); $('#pf_endereco').val( data.endereco ); $('#pj_endereco').val( data.endereco ); temp = data.validate; } }); return temp; }, "CEP inválido"); jQuery.validator.addMethod("valida_cartao", function(value, element) { value = jQuery.trim(value); var temp; $.ajax({ url: SITE+"/pagamento/validate/credit_card", dataType: "json", async: false, type: "POST", global: false, data: { credit_card: value }, success: function(data){ temp = data } }); $(".img-bands > div").removeClass("active"); $(".card_info li i").css({ opacity: 0, visibility: 'hidden' }); if(temp.validate) { $(this).find(".img-bands").find("." + temp.name).addClass("active"); $(this).find(".card_info li i").css({ opacity: 1, visibility: 'visible' }); var credit_card_id = { "mastercard": "4", "visa": "2", "elo": "7", "diners": "8", "discover": "9" }; if ($(element).attr('id') === 'card-one-number') { $('input[name="card-one-brand-type-id"]').val(credit_card_id[temp.name]); $("input[name=card-one-condition]").val(""); } else if ($(element).attr('id') === 'card-two-number') { $('input[name="card-two-brand-type-id"]').val(credit_card_id[temp.name]); $("input[name=card-two-condition]").val(""); } else { $("input[name=codigo_forma_pagamento]").val(credit_card_id[temp.name]); $("input[name=codigo_condicao_pagamento]").val(""); } } return temp.validate; }, "Cartão de crédito inválido"); jQuery.validator.addMethod("uppercase", function(value, element, param) { var value = jQuery.trim(value); var counter = 0; for(var i=0; i= param; if(validate) { $(".password_list_itens #uppercase").addClass("valid").removeClass("invalid"); } else { $(".password_list_itens #uppercase").addClass("invalid").removeClass("valid"); } return validate; }); jQuery.validator.addMethod("lowercase", function(value, element, param) { var value = jQuery.trim(value); var counter = 0; for(var i=0; i= param; if(validate) { $(".password_list_itens #lowercase").addClass("valid").removeClass("invalid"); } else { $(".password_list_itens #lowercase").addClass("invalid").removeClass("valid"); } return validate; }); jQuery.validator.addMethod("number", function(value, element, param) { var value = jQuery.trim(value); var counter = 0; for(var i=0; i=0 || value[i] <= 9) { counter++; } } var validate = counter >= param; if(validate) { $(".password_list_itens #number").addClass("valid").removeClass("invalid"); } else { $(".password_list_itens #number").addClass("invalid").removeClass("valid"); } return validate; }); jQuery.validator.addMethod("minimal_chars", function(value, element, param) { var value = jQuery.trim(value); var validate = value.length >= param; if(validate) { $(".password_list_itens #minimal_chars").addClass("valid").removeClass("invalid"); } else { $(".password_list_itens #minimal_chars").addClass("invalid").removeClass("valid"); } return validate; }); jQuery.validator.addMethod("sequential_numbers", function(value, element, param) { var check = true; for(var i=0; i