|
1
|
|
-var validateForm=function(){"use strict";let e,t,i={},n=[];const r=t=>window?.bf_globals?.[e].inits?.[t],o=e=>{const n=e.replace(/\[\d*\]/g,"");if(i[n])return i[n];const r=Object.entries(t);for(let e=0;e<r.length;e+=1){const[t,o]=r[e];if(o?.fieldName===n)return i[n]=t,t}return""},l=()=>{const n=new FormData(bfSelect(`#form-${e}`)),r={},l=Array.from(n.entries());return i={},l.forEach((([e,i])=>{const n=o(e),l=e.replace("[]","");n in t&&(r[l]?(Array.isArray(r[l])||(r[l]=[r[l]]),r[l].push(i)):r[l]=i)})),r},d=(t,i,r,o="")=>{const l=bfSelect(`#form-${e} ${o} .${i}-err-wrp`),d=bfSelect(`.${i}-err-txt`,l),a=bfSelect(`.${i}-err-msg`,l);let s=!1;try{s="grid"===getComputedStyle(l).display,s&&(l.style.removeProperty("opacity"),l.style.removeProperty("height"),a.style.removeProperty("display"))}catch(e){s=!1}d&&"err"in(r||{})&&(t&&r?.err?.[t]?.show?(d.innerHTML=r.err[t].custom?r.err[t].msg:r.err[t].dflt,s?setStyleProperty(l,"grid-template-rows","1fr"):setTimeout((()=>{a.style.removeProperty("display"),setStyleProperty(l,"height",`${d.offsetHeight}px`),setStyleProperty(l,"opacity",1)}),100),n.push(i)):(d.innerHTML="",s?setStyleProperty(l,"grid-template-rows","0fr"):(setStyleProperty(l,"height",0),setStyleProperty(l,"opacity",0),setStyleProperty(a,"display","none"))))};return function({form:i,input:a},{step:s,otherOptions:f}={}){i?e=i:a?.form?.id&&([,e]=a.form.id.split("form-"));const c=window?.bf_globals?.[e];if(void 0===c)return!1;let p={};n=[];const u=c.configs.bf_separator;if(s){let e=c.layout[s-1];if(!e)return!1;e=e?.layout||e;const i=e.lg.map((e=>e.i)),n=c.nestedLayout||{};Object.entries(n).forEach((([e,t])=>{if(i.includes(e)){const e=t.lg.map((e=>e.i));i.push(...e)}})),t=i.reduce(((e,t)=>({...e,[t]:c.fields[t]})),{})}else t=c.fields;const{modifiedFields:y}=c;if(y&&Object.assign(t,y),i)p=l();else if(a){if(!c.validateFocusLost&&!f?.validateOnInput)return!0;const e=o(a.name);p=l(),t={[e]:t[e]}}let m=!0;const h=Object.entries(t);let{length:F}=h;for(;F--;){const[t,i]=h[F];let n=[""];if("undefined"!=typeof checkRepeatedField){const e=checkRepeatedField(t,c);n=getRepeatedIndexes(e,c,a)}for(let o=0;o<n.length;o+=1){const l=n[o],a=l?`${i.fieldName}[${l}]`:i.fieldName,s=l?`.rpt-index-${l}`:"",f=i.typ,c="string"==typeof p[a]?p[a].trim():p[a];if(bfSelect(`#form-${e} ${s} .${t}.fld-hide`)){d("",t,i,s);continue}let y="";"check"===f&&(y="undefined"!=typeof checkFldValidation?checkFldValidation(c,i):""),"check"!==f&&"radio"!==f||y||"undefined"==typeof customOptionValidation||(y=customOptionValidation(e,t,i)),c||y||(y="undefined"!=typeof requiredFldValidation?requiredFldValidation(i):null),d(y,t,i,s),y?m=!1:c&&("number"===f&&"undefined"!=typeof nmbrFldValidation?y=nmbrFldValidation(c,i):"email"===f&&"undefined"!=typeof emailFldValidation?y=emailFldValidation(c,i):"url"===f&&"undefined"!=typeof urlFldValidation?y=urlFldValidation(c,i):"decision-box"===f&&"undefined"!=typeof dcsnbxFldValidation?y=dcsnbxFldValidation(c,i):"check"!==f&&"select"!==f&&"image-select"!==f||"undefined"==typeof checkMinMaxOptions?"file-up"===f&&"undefined"!=typeof fileupFldValidation?y=fileupFldValidation(c,i):"advanced-file-up"===f&&"undefined"!=typeof advanceFileUpFldValidation?y=advanceFileUpFldValidation(r(t),i):"phone-number"===f&&"undefined"!=typeof phoneNumberFldValidation&&(y=phoneNumberFldValidation(r(t),i)):y=checkMinMaxOptions(c,i,u),i?.valid?.regexr&&!y&&(y="undefined"!=typeof regexPatternValidation?regexPatternValidation(c,i):null),d(y,t,i,s),y&&(m=!1))}}return moveToFirstErrFld(c,n),m}}(); |
|
1
|
+var validateForm=function(){"use strict";let e,t,i={},n=[];const r=t=>window?.bf_globals?.[e].inits?.[t],l=(e,t,i)=>{const n=Number(i)>1?`${e}[${i}]`:e;return t.inits&&!t.inits[n]?e:n},d=e=>{const n=e.replace(/\[\d*\]/g,"");if(i[n])return i[n];const r=Object.entries(t);for(let e=0;e<r.length;e+=1){const[t,l]=r[e];if(l?.fieldName===n)return i[n]=t,t}return""},o=()=>{const n=new FormData(bfSelect(`#form-${e}`)),r={},l=Array.from(n.entries());return i={},l.forEach(([e,i])=>{const n=d(e),l=e.replace("[]","");n in t&&(r[l]?(Array.isArray(r[l])||(r[l]=[r[l]]),r[l].push(i)):r[l]=i)}),r},a=(t,i,r,l="")=>{const d=bfSelect(`#form-${e} ${l} .${i}-err-wrp`),o=bfSelect(`.${i}-err-txt`,d),a=bfSelect(`.${i}-err-msg`,d);let f=!1;try{f="grid"===getComputedStyle(d).display,f&&(d.style.removeProperty("opacity"),d.style.removeProperty("height"),a.style.removeProperty("display"))}catch(e){f=!1}const s=bfSelect(`#form-${e} ${l} .${i}-fld`),c=bfSelect(`#form-${e} ${l} .${i}-cc[role="group"], #form-${e} ${l} .${i}-cc[role="radiogroup"]`);if(o&&"err"in(r||{}))if(t&&r?.err?.[t]?.show){const{custom:e,msg:l,dflt:p}=r.err[t];o.innerHTML=e&&l?l:p,f?setStyleProperty(d,"grid-template-rows","1fr"):setTimeout(()=>{a.style.removeProperty("display"),setStyleProperty(d,"height",`${o.offsetHeight}px`),setStyleProperty(d,"opacity",1)},100),n.push(i),s&&s.setAttribute("aria-invalid","true"),c&&c.setAttribute("aria-invalid","true")}else o.innerHTML="",f?setStyleProperty(d,"grid-template-rows","0fr"):(setStyleProperty(d,"height",0),setStyleProperty(d,"opacity",0),setStyleProperty(a,"display","none")),s&&s.removeAttribute("aria-invalid"),c&&c.removeAttribute("aria-invalid")};return function({form:i,input:f},{step:s,otherOptions:c}={}){i?e=i:f?.form?.id&&([,e]=f.form.id.split("form-"));const p=window?.bf_globals?.[e];if(void 0===p)return!1;let u={};n=[];const y=p.configs.bf_separator;if(s){let e=p.layout[s-1];if(!e)return!1;e=e?.layout||e;const i=e.lg.map(e=>e.i),n=p.nestedLayout||{};Object.entries(n).forEach(([e,t])=>{if(i.includes(e)){const e=t.lg.map(e=>e.i);i.push(...e)}}),t=i.reduce((e,t)=>({...e,[t]:p.fields[t]}),{})}else t=p.fields;const{modifiedFields:m}=p;if(m&&Object.keys(t).forEach(e=>{m[e]&&(t[e]=m[e])}),i)u=o();else if(f){if(!p.validateFocusLost&&!c?.validateOnInput)return!0;const e=d(f.name);u=o(),t={[e]:t[e]}}let F=!0;const b=Object.entries(t);let{length:h}=b;for(;h--;){const[t,i]=b[h];let n=[""];if(!i?.isDeactive&&bfSelect(`#form-${e} .${t}, #form-${e} .${t}-sub-fld-wrp, #form-${e} .${t}-err-wrp`)){if("undefined"!=typeof checkRepeatedField){const e=checkRepeatedField(t,p);n=getRepeatedIndexes(e,p,f)}for(let d=0;d<n.length;d+=1){const o=n[d],f=o?`${i.fieldName}[${o}]`:i.fieldName,s=`#form-${e}`,c=o?`.rpt-index-${o}`:"",m=i.typ,b="string"==typeof u[f]?u[f].trim():u[f],h=l(t,p,o);if(bfSelect(`${s} ${c} .${t}.fld-hide, ${s} .fld-hide ${c} .${t}`)){a("",t,i,c);continue}let V="";if("check"!==m&&"image-select"!==m||(V="undefined"!=typeof checkFldValidation?checkFldValidation(b,i):""),"check"!==m&&"radio"!==m||V||"undefined"==typeof customOptionValidation||(V=customOptionValidation(e,t,i)),"number"!==m||V||"undefined"==typeof nmbrBadInputValidation||(V=nmbrBadInputValidation(e,t,i,c)),b||V||"0"===b||(V="undefined"!=typeof requiredFldValidation?requiredFldValidation(i):null),a(V,t,i,c),V)F=!1;else if(["password","email"].includes(m)&&i?.parentFieldKey&&!i?.isDeactive&&"undefined"!=typeof confirmFldMatch&&(V=confirmFldMatch(b,i,u,p.fields,o)),a(V,t,i,c),V)F=!1;else if("email-otp"!==m||"undefined"==typeof emailOtpFldValidation)if("repeater"!==m){if(b){if("number"===m&&"undefined"!=typeof nmbrFldValidation)V=nmbrFldValidation(b,i);else if("email"===m&&"undefined"!=typeof emailFldValidation)V=emailFldValidation(b,i);else if("url"===m&&"undefined"!=typeof urlFldValidation)V=urlFldValidation(b,i);else if(["decision-box","gdpr"].includes(m)&&"undefined"!=typeof dcsnbxFldValidation)V=dcsnbxFldValidation(b,i);else if(["check","select","image-select"].includes(m)&&"undefined"!=typeof checkMinMaxOptions)V=checkMinMaxOptions(b,i,y);else if("range"===m&&"undefined"!=typeof checkMinMaxValue)V=checkMinMaxValue(b,i);else if("file-up"===m&&"undefined"!=typeof fileupFldValidation)V=fileupFldValidation(r(h),b,i);else if("advanced-file-up"===m&&"undefined"!=typeof advanceFileUpFldValidation)V=advanceFileUpFldValidation(r(h),i);else if("phone-number"===m&&"undefined"!=typeof phoneNumberFldValidation)V=phoneNumberFldValidation(r(h),i);else if("currency"===m&&"undefined"!=typeof currencyFldValidation)V=currencyFldValidation(r(h),i);else if(i?.parentFieldKey&&/\[zip\]$/.test(i.fieldName||"")&&"address"===p.fields[i.parentFieldKey]?.typ&&"undefined"!=typeof addressZipFldValidation){const e=r(l(i.parentFieldKey,p,o));V=addressZipFldValidation(b,i,e,p.fields[i.parentFieldKey])}V||"undefined"==typeof bfDatetimeFldValidation||(V=bfDatetimeFldValidation(r(h),b,i)),i?.valid?.inputMask&&!V&&(V="undefined"!=typeof inputMaskValidation?inputMaskValidation(e,t,b,i,c):null),i?.valid?.regexr&&!V&&"phone-number"!==m&&(V="undefined"!=typeof regexPatternValidation?regexPatternValidation(b,i):null),V||"undefined"==typeof textLengthValidation||(V=textLengthValidation(b,i)),a(V,t,i,c),V&&(F=!1)}}else V=r(h)?.rowCountError?.()||"",a(V,t,i,c),V&&(F=!1);else V=emailOtpFldValidation(r(h),i),a(V,t,i,c),V&&(F=!1)}}}return i&&(moveToFirstErrFld(p,n),F||(t=>{if(0===t)return;const i=bfSelect(`#${e}`),n=i?.querySelector(".bf-live-region");if(!n)return;const r=1===t?"Form has 1 validation error. Please correct it before submitting.":`Form has ${t} validation errors. Please correct them before submitting.`;n.textContent=r,setTimeout(()=>{n.textContent=""},3e3)})(n.length)),F}}(); |