1$(document).ready(function () { 2 3 $("[form-auto-validation] .cnpj").keyup(validarForm); 4 $("[form-auto-validation].cnpj").change(validarForm); 5 6 $("[form-auto-validation] input").change(function () { 7 if ($("#formContato").is(".was-validated")) { 8 $(this).removeClass("is-valid"); 9 $(this).removeClass("is-invalid"); 10 11 return; 12 } 13 14 if ($(this).is(".cnpj")) 15 validarForm(); 16 17 if ($(this).is(".phone")) 18 validarPhone(); 19 20 if ($(this)[0].checkValidity() === false) { 21 $(this).addClass("is-invalid"); 22 $(this).removeClass("is-valid"); 23 } 24 else { 25 $(this).removeClass("is-invalid"); 26 $(this).addClass("is-valid"); 27 } 28 }); 29 30 //Colapse Footer 31 function toggleFooter(){ 32 33 if ($("footer.new-footer .collapse-group button").hasClass('open')) { 34 $("footer.new-footer .collapse-group button").removeClass("open"); 35 $("footer.new-footer .footer-content").addClass("d-none"); 36 } else { 37 $("footer.new-footer .collapse-group button").addClass("open"); 38 $("footer.new-footer .footer-content").removeClass("d-none"); 39 } 40 41 } 42 $("footer.new-footer .collapse-group button").click(function (e) { 43 e.preventDefault(); 44 console.log("change footer"); 45 toggleFooter(); 46 }); 47 48 49}); 50 51function validarForm() { 52 var element = $(".cnpj")[0]; 53 54 55 56 var ret = true; 57 58 if (!element.validity.valueMissing && !ValidarCNPJ($(".cnpj").attr("id"))) { 59 element.setCustomValidity("Informe um CNPJ válido"); 60 $(this).parent().find(".invalid-feedback .default-feedback").hide(); 61 $(this).parent().find(".invalid-feedback .custom-feedback").html("Informe um CNPJ válido"); 62 $(this).parent().find(".invalid-feedback .custom-feedback").show(); 63 ret = false;
64 } 65 else if(!isPhone( $(elementPhone).val() ) ){ 66 elementPhone.setCustomValidity("Informe um Telefone válido"); 67 $(this).parent().find(".invalid-feedback .default-feedback").hide(); 68 $(this).parent().find(".invalid-feedback .custom-feedback").html("Informe um Telefone válido"); 69 $(this).parent().find(".invalid-feedback .custom-feedback").show(); 70 ret = false; 71 } 72 else { 73 element.setCustomValidity(""); 74 $(this).parent().find(".invalid-feedback .default-feedback").show(); 75 $(this).parent().find(".invalid-feedback .custom-feedback").hide(); 76 } 77 78 return ret; 79} 80 81function validarPhone(){ 82 83 var element = $(".phone")[0]; 84 85 var ret = true; 86 87 if(!isPhone( $(element).val() ) ){ 88 element.setCustomValidity("Informe um Telefone válido"); 89 $(this).parent().find(".invalid-feedback .default-feedback").hide(); 90 $(this).parent().find(".invalid-feedback .custom-feedback").html("Informe um Telefone válido"); 91 $(this).parent().find(".invalid-feedback .custom-feedback").show(); 92 ret = false;
93 } 94 else { 95 element.setCustomValidity(""); 96 $(this).parent().find(".invalid-feedback .default-feedback").show(); 97 $(this).parent().find(".invalid-feedback .custom-feedback").hide(); 98 } 99 100 return ret; 101 102} 103 104 105var PhoneMaskBehavior = function (val) { 106 return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009'; 107}; 108var nonoOptions = { 109 onKeyPress: function (val, e, field, options) { 110 field.mask(PhoneMaskBehavior.apply({}, arguments), options); 111 } 112}; 113 114jQuery(document).ready(function ($) { 115 $('input.phone').mask(PhoneMaskBehavior, nonoOptions); 116 if (window.CnpjHelper) { 117 window.CnpjHelper.aplicarMascara($('input.cnpj')); 118 } else { 119 $('input.cnpj').mask('00.000.000/0000-00', { reverse: true }); 120 } 121 122 var options = { 123 onKeyPress: function (cpfcnpj, e, field, options) { 124 var masks = ['000.000.000-000', '00.000.000/0000-00']; 125 var mask = (cpfcnpj.length > 14) ? masks[1] : masks[0]; 126 $('.cpfcnpj').mask(mask, options); 127 } 128 }; 129 130 $('.cpfcnpj').mask('000.000.000-000', options); 131}); 132 133function ValidarCNPJ(ObjCnpj) { 134 var elemento = document.getElementById(ObjCnpj); 135 if (!elemento) return false; 136 return window.CnpjHelper ? window.CnpjHelper.validar(elemento.value) : false; 137} 138 139function ValidarCPF(ObjCPF) { 140 var strCPF = document.getElementById(ObjCnpj).value; 141 142 var exp = /\.|\-|\//g 143 strCPF = strCPF.toString().replace(exp, ""); 144 145 var Soma; 146 var Resto; 147 Soma = 0; 148 if (strCPF == "00000000000") return false; 149 150 var i; 151 152 for (i = 1; i <= 9; i++) Soma = Soma + parseInt(strCPF.substring(i - 1, i)) * (11 - i); 153 Resto = (Soma * 10) % 11; 154 155 if ((Resto == 10) || (Resto == 11)) Resto = 0; 156 if (Resto != parseInt(strCPF.substring(9, 10))) return false; 157 158 Soma = 0; 159 for (i = 1; i <= 10; i++) Soma = Soma + parseInt(strCPF.substring(i - 1, i)) * (12 - i); 160 Resto = (Soma * 10) % 11; 161 162 if ((Resto == 10) || (Resto == 11)) Resto = 0; 163 if (Resto != parseInt(strCPF.substring(10, 11))) return false; 164 return true; 165} 166 167 168jQuery.extend(jQuery.validator.messages, { 169 required: "Campo obrigatório.", 170 remote: "Por favor, corrija este campo.", 171 email: "Por favor, forneça um email válido.", 172 url: "Por favor, forneça uma URL válida.", 173 date: "Por favor, forneça uma data válida.", 174 dateISO: "Por favor, forneça uma data válida (ISO).", 175 number: "Por favor, forneça um número válido.", 176 digits: "Por favor, forneça somente dÃgitos.", 177 creditcard: "Por favor, forneça um cartão de crédito válido.", 178 equalTo: "Por favor, forneça o mesmo valor novamente.", 179 accept: "Por favor, forneça um valor com uma extensão válida.", 180 maxlength: jQuery.validator.format("Por favor, forneça não mais que {0} caracteres."), 181 minlength: jQuery.validator.format("Por favor, forneça ao menos {0} caracteres."), 182 rangelength: jQuery.validator.format("Por favor, forneça um valor entre {0} e {1} caracteres de comprimento."), 183 range: jQuery.validator.format("Por favor, forneça um valor entre {0} e {1}."), 184 max: jQuery.validator.format("Por favor, forneça um valor menor ou igual a {0}."), 185 min: jQuery.validator.format("Por favor, forneça um valor maior ou igual a {0}.") 186}); 187 188 189jQuery.validator.addMethod("phone", function(value, element) { 190 return this.optional(element) || isPhone(value); 191}, "Por favor, insira um contato válido"); 192 193jQuery.validator.addMethod("cpf", function (value, element) { 194 return this.optional(element) || isValidCPF(value); 195}, "Por favor, insira um CPF válido "); 196 197jQuery.validator.addMethod("cnpj", function (value, element) { 198 return this.optional(element) || isValidCNPJ(value); 199}, "Por favor, insira um CNPJ válido "); 200 201 202jQuery.validator.addMethod("cpfcnpj", function (value, element) { 203 let valid = false; 204 if( isValidCNPJ(value) ){ 205 valid = true; 206 return valid; 207 } 208 if( isValidCPF(value) ){ 209 valid = true; 210 return valid; 211 } 212 return valid; 213}, "Por favor, insira um CNPJ/CPF válido "); 214 215 216 217jQuery.validator.addMethod("dateFundacao", function(value, element) { 218 if(value.length!=10) return false;
219 try { 220 let dateFundacao = value.split('/'); 221 console.log( 'dateFundacao: ', value ); 222 console.log( 'dateFundacao: ', `new Date( ${dateFundacao[2]}, ${dateFundacao[1] - 1}, ${dateFundacao[0]} ) `); 223 console.log( 'dateFundacao: ', new Date( dateFundacao[2], dateFundacao[1] - 1, dateFundacao[0] ) ); 224 if(new Date() <= new Date( dateFundacao[2], dateFundacao[1] - 1, dateFundacao[0] )){ 225 return false; 226 } 227 } catch (error){ 228 console.log('dateFundacao: ', error); 229 } 230 return value.match(/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.](19|20)\d\d$/); 231}, "Por favor, forneça uma data válida"); 232 233jQuery.validator.addMethod("specialchars", function(value, element) { 234 return this.optional(element) || !value.match(/[^a-zA-Z\d\s:]/); 235}, "Por favor, remova os caracteres especiais"); 236 237jQuery.validator.addMethod("email", function(value, element) { 238 return this.optional(element) || isEmail(value); 239}, "Por favor, informe um email válido"); 240 241jQuery.validator.addMethod('minStrict', function (value, el, param) { 242 return value > param; 243}, "Por favor, digite uma quantidade válida"); 244 245 246function convertDate(inputFormat) { 247 function pad(s) { return (s < 10) ? '0' + s : s; } 248 var d = new Date(inputFormat) 249 return [pad(d.getDate()), pad(d.getMonth()+1), d.getFullYear()].join('/') 250} 251 252 253 254//Mask 255$(".placa").mask("SSS9A99"); 256 257$(".close-menu").click(function() { 258 $(".navbar-toggler").trigger("click"); 259}) 260 261$('.dropdown-toggle').dropdown(); 262 263 264 265 266 267 268
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.