1"use strict";const hasError=function(field){if(field.disabled||field.type==="file"||field.type==="reset"||field.type==="submit"||field.type==="button"){return;} 2const{validity}=field;if(validity.valid){return;} 3if(validity.valueMissing){return"Campo obrigatório.";} 4if(validity.typeMismatch){if(field.type==="email"){return"Digite um e-mail válido.";} 5if(field.type==="url"){return"Digite uma URl válido";}} 6if(validity.tooShort){return`Campo precisa de no minimo ${field.getAttribute("minLength")} caracters.`;} 7if(validity.tooLong){return`Campo com quantidade máximo de ${field.getAttribute("maxLength")} caracters.`;} 8if(validity.badInput){return"Campo númerico.";} 9if(validity.stepMismatch){return"Selecione um valor válido.";} 10if(validity.rangeOverflow){return`Digitar um valor menor que ${field.getAttribute("max")}.`;} 11if(validity.rangeUnderflow){return`Digitar um valor maior que ${field.getAttribute("min")}.`;} 12if(validity.patternMismatch){if(field.hasAttribute("title")){return field.getAttribute("title");} 13return"Formato incorreto.";} 14return"Valor inválido.";};const showErrorWithoutForm=function(field,error){field.classList.add("error");
14if(field.type==="radio"&&field.name){const group=document.getElementsByName(field.name);if(group.length>0){for(let i=0;i<group.length;i++){if(group[i]!==field){continue;} 15group[i].classList.add("error");} 16field=group[group.length-1];}} 17const id=field.id||field.name;if(!id){return;} 18if(!field.nextElementSibling){let message=field.querySelector(`.error-message#error-for-${id}`);if(!message){message=document.createElement("div");message.className="error-message";message.id=`error-for-${id}`;let label;if(field.type==="radio"||field.type==="checkbox"){label=field.parentElement.getAttribute("for")===id;if(label){field.parentElement.insertBefore(message,label.nextSibling);}} 19if(!label){field.parentNode.insertBefore(message,field.nextSibling);}} 20field.setAttribute("aria-describedby",`error-for-${id}`);message.innerHTML=error;message.style.display="block";message.style.visibility="visible";} 21else{field.nextElementSibling.innerHTML=error;field.nextElementSibling.style.display="block";field.nextElementSibling.style.visibility="visible";}};const removeErrorWithoutForm=function(field){field.classList.remove("error");if((field.type==="radio"||field.type==="checkbox")&&field.name){const group=document.getElementsByName(field.name);if(group.length>0){for(let i=0;i<group.length;i++){if(group[i]!==field){continue;} 22group[i].classList.remove("error");} 23field=group[group.length-1];}} 24field.removeAttribute("aria-describedby");const id=field.id||field.name;if(!id){return;} 25const fieldChildren=field.nextElementSibling;if(fieldChildren){const message=fieldChildren.id===`error-for-${id}`;if(!message){return;} 26fieldChildren.innerHTML="";fieldChildren.style.display="none";fieldChildren.style.visibility="hidden";}};function validar(){const fields=document.querySelectorAll("[required]");let error;let hasErrors;for(let i=0;i<fields.length;i++){error=hasError(fields[i]);if(error){showErrorWithoutForm(fields[i],error);if(!hasErrors){hasErrors=fields[i];}} 27else{removeErrorWithoutForm(fields[i]);}} 28if(hasErrors){const clickEvent=window.event;if(clickEvent&&typeof clickEvent.preventDefault==='function'){clickEvent.preventDefault();} 29hasErrors.focus();} 30return(hasErrors===undefined);} 31const showError=function(field,error){field.classList.add("error");
31if(field.type==="radio"&&field.name){const group=document.getElementsByName(field.name);if(group.length>0){for(let i=0;i<group.length;i++){if(group[i].form!==field.form){continue;} 32group[i].classList.add("error");} 33field=group[group.length-1];}} 34const id=field.id||field.name;if(!id){return;} 35let message=field.form.querySelector(`.error-message#error-for-${id}`);if(!message){message=document.createElement("div");message.className="error-message";message.id=`error-for-${id}`;let label;if(field.type==="radio"||field.type==="checkbox"){label=field.form.querySelector(`label[for="${id}"]`)||field.parentNode;if(label){label.parentNode.insertBefore(message,label.nextSibling);}} 36if(!label){field.parentNode.insertBefore(message,field.nextSibling);}} 37field.setAttribute("aria-describedby",`error-for-${id}`);message.innerHTML=error;message.style.display="block";message.style.visibility="visible";};const removeError=function(field){field.classList.remove("error");if(field.type==="radio"&&field.name){const group=document.getElementsByName(field.name);if(group.length>0){for(let i=0;i<group.length;i++){if(group[i].form!==field.form){continue;} 38group[i].classList.remove("error");} 39field=group[group.length-1];}} 40field.removeAttribute("aria-describedby");const id=field.id||field.name;if(!id){return;} 41const message=field.form.querySelector(`.error-message#error-for-${id}`);if(!message){return;} 42message.innerHTML="";message.style.display="none";message.style.visibility="hidden";};document.addEventListener("submit",(event)=>{if(!event.target.classList.contains("validate")){return;} 43const fields=event.target.elements;let error;let hasErrors;for(let i=0;i<fields.length;i++){error=hasError(fields[i]);if(error){showError(fields[i],error);if(!hasErrors){hasErrors=fields[i];}} 44else{removeError(fields[i]);}} 45if(hasErrors){event.preventDefault();hasErrors.focus();}},{passive:true});window.onload=function(){const forms=document.querySelectorAll(".validate");for(let i=0;i<forms.length;i++){forms[i].setAttribute("novalidate","true");} 46const btnValidate=document.querySelector(".btn-validate");if(btnValidate){btnValidate.addEventListener("click",(event)=>{const fields=document.querySelectorAll("[required]");let error;let hasErrors;for(let i=0;i<fields.length;i++){error=hasError(fields[i]);if(error){showErrorWithoutForm(fields[i],error);if(!hasErrors){hasErrors=fields[i];}} 47else{removeErrorWithoutForm(fields[i]);}} 48if(hasErrors){event.preventDefault();hasErrors.focus();}},false);}};function ValidarCampoObrigatorio(field){let hasErrors;const error=hasError(field);if(error){showErrorWithoutForm(field,error);if(!hasErrors){hasErrors=field;}} 49else{removeErrorWithoutForm(field);} 50return(hasErrors===undefined);} 51function Validar_Campos_Obrigatorios(container){const scope=container||document;const fields=scope.querySelectorAll("[required]");let error;let hasErrors;for(let i=0;i<fields.length;i++){error=hasError(fields[i]);if(error){showErrorWithoutForm(fields[i],error);if(!hasErrors){hasErrors=fields[i];}} 52else{removeErrorWithoutForm(fields[i]);}} 53return hasErrors===undefined;}
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.