PageSourceSearch

https://www.dhm.de/_assets/f038457a108ded7ca0b077b63bfae195/JavaScript/Validation.min.js?1789485421

js dhm.de collected 2026-09-24 08:48:29 UTC 4,446 bytes, 1 lines download raw bytes

1class FemanagerValidation{constructor(e){this.element=e,this.requestCallback=null,this.submitFormAllowed=!1,0===this.element.querySelectorAll("*[data-validation]").length&&(this.submitFormAllowed=!0),this.init()}init(){this.element.querySelectorAll('*[data-validation]:not([type="file"])').forEach(e=>{e.addEventListener("blur",()=>{this.validateField(e,!1)})});this.element.querySelectorAll('*[data-validation][type="file"]').forEach(e=>{e.addEventListener("change",()=>{this.validateField(e,!1)})}),this.element.addEventListener("submit",e=>{document.body.style.cursor="wait",this.submitFormAllowed||(e.preventDefault(),this.validateAllFields(this.element))})}createRequestsCompleted(e={}){const t=e.numRequest||0;let a=e.requestsCompleted||0;const r=e.element||null,l=[];e.singleCallback&&l.push(e.singleCallback);const i=()=>{document.body.style.cursor="default",this.submitForm(r),l.forEach(e=>e())};return{addCallbackToQueue:(e,r)=>{e&&a++,r&&l.push(r),a===t&&i()},requestComplete:e=>{e&&a++,a===t&&i()},setCallback:e=>{l.push(e)}}}validateAllFields(e){this.requestCallback=this.createRequestsCompleted({numRequest:e.querySelectorAll("*[data-validation]").length,element:e}),e.querySelectorAll("*[data-validation]").forEach(e=>{this.validateField(e,!0)})}validateField(e,t){if(e.disabled)return void(t&&this.requestCallback.addCallbackToQueue(!0));const a=e.closest("form"),r=a.dataset.femanagerPlugin,l="tx_"+a.dataset.femanagerPluginName,i=a.querySelector('div:first-child input[name="'+l+'[user][__identity]"]')?.value,n=a.querySelector('div:first-child input[name="'+l+'[__referrer][@action]"]')?.value,o=Femanager.getBaseUrl()+"?id="+document.getElementById("femanagerPid")?.value+"&type=1548935210",s=document.getElementById("femanagerStoragePid")?.value,d=e.getAttribute("data-validation"),c=this.getValidations(e);let u=e.value;"checkbox"!==e.type||e.checked||(u="");let m="";if(this.indexOfArray(c,"sameAs")){const e=this.indexOfArray(c,"sameAs"),t=this.getStringInBrackets(e),a=document.querySelector('input[name="'+l+"[user]["+t+']"]');a&&(m=a.value,"checkbox"!==a.type||a.checked||(m=""))}const g=new URLSearchParams;g.append("storagePid",s||""),g.append("L",document.getElementById("femanagerLanguage")?.value||""),g.append("id",document.getElementById("femanagerPid")?.value||""),g.append("tx_femanager_validation[validation]",d||""),g.append("tx_femanager_validation[value]",u||""),g.append("tx_femanager_validation[field]",this.getFieldName(e)||""),g.append("tx_femanager_validation[user]",void 0!==i?i:""),g.append("tx_femanager_validation[additionalValue]",m||""),g.append("tx_femanager_validation[plugin]",r||""),g.append("tx_femanager_validation[pluginName]",l||""),g.append("tx_femanager_validation[referrerAction]",n||""),fetch(o,{method:"POST",body:g,headers:{"Content-Type":"application/x-www-form-urlencoded"},cache:"no-cache"}).then(e=>e.json()).then(a=>{if(t&&this.requestCallback.addCallbackToQueue(!0),a)try{a.validate?this.cleanErrorMessage(e):this.writeErrorMessage(e,a.message)}catch(t){e.insertAdjacentHTML("beforebegin",data)}}).catch(()=>{this.logAjaxError()})}getFieldName(e){let t="";const a=e.name.split("[");return t=void 0!==a[2]?a[2].replace("]",""):a[1].replace("]",""),t}writeErrorMessage(e,t){this.cleanErrorMessage(e);const a=document.querySelector(".femanager_validation_container");if(!a)return;const r=a.innerHTML.replace("###messages###",t);e.insertAdjacentHTML("beforebegin",r),e.closest(".form-group").classList.add("has-error"),e.classList.add("error")}cleanErrorMessage(e){e.closest(".form-group").classList.remove("has-error"),e.parentNode.querySelectorAll(".alert").forEach(t=>{t!==e&&t.remove()}),e.classList.remove("error")}submitForm(e){if(0===e.querySelectorAll(".error").length)this.submitFormAllowed=!0,e.submit();else{const t=e.querySelector(".error");if(!t)return;t.scrollIntoView({behavior:"smooth"})}}indexOfArray(e,t){for(let a=0;a<e.length;a++)if(-1!==e[a].indexOf(t))return e[a];return""}getValidations(e){return e.getAttribute("data-validation").split(",")}getStringInBrackets(e){let t="";if(-1!==e.indexOf("(")){const a=e.split("(");t=a[1].substr(0,a[1].length-1)}return t}logAjaxError(){"object"==typeof console&&console.log("Error: The called url is not available - if you use TYPO3 in a subfolder, please use config.baseURL in TypoScript")}}function initFemanagerValidation(){document.querySelectorAll(".feManagerValidation").forEach(e
1=>{new FemanagerValidation(e)})}

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.