Sha256: 523f62a8b90c225e4bb5e24123f2004806ec1fdfbf0647cc6548404e3bc2d834

Contents?: true

Size: 1.85 KB

Versions: 74

Compression:

Stored size: 1.85 KB

Contents

import{P as PbEnhancedElement,d as debounce}from"./lib-CEpcaI8y.js";const KIT_SELECTOR='[class^="pb_"][class*="_kit"]';const ERROR_MESSAGE_SELECTOR=".pb_body_kit_negative";const FORM_SELECTOR='form[data-pb-form-validation="true"]';const REQUIRED_FIELDS_SELECTOR="input[required],textarea[required],select[required]";const FIELD_EVENTS=["change","valid","invalid"];class PbFormValidation extends PbEnhancedElement{static get selector(){return FORM_SELECTOR}connect(){this.formValidationFields.forEach((field=>{FIELD_EVENTS.forEach((e=>{field.addEventListener(e,debounce((event=>{this.validateFormField(event)}),250),false)}))}))}validateFormField(event){event.preventDefault();const{target:target}=event;target.setCustomValidity("");const isValid=event.target.validity.valid;if(isValid){this.clearError(target)}else{this.showValidationMessage(target)}}showValidationMessage(target){const{parentElement:parentElement}=target;this.clearError(target);parentElement.closest(KIT_SELECTOR).classList.add("error");const errorMessageContainer=this.errorMessageContainer;if(target.dataset.message)target.setCustomValidity(target.dataset.message);errorMessageContainer.innerHTML=target.validationMessage;parentElement.appendChild(errorMessageContainer)}clearError(target){const{parentElement:parentElement}=target;parentElement.closest(KIT_SELECTOR).classList.remove("error");const errorMessageContainer=parentElement.querySelector(ERROR_MESSAGE_SELECTOR);if(errorMessageContainer)errorMessageContainer.remove()}get errorMessageContainer(){const errorContainer=document.createElement("div");const kitClassName=ERROR_MESSAGE_SELECTOR.replace(/\./,"");errorContainer.classList.add(kitClassName);return errorContainer}get formValidationFields(){return this._formValidationFields=this._formValidationFields||this.element.querySelectorAll(REQUIRED_FIELDS_SELECTOR)}}window.PbFormValidation=PbFormValidation;

Version data entries

74 entries across 74 versions & 1 rubygems

Version Path
playbook_ui-14.5.0.pre.alpha.PLAY1548intltelinputupdatelatest4175 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.6.0.pre.rc.20 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.5.0.pre.alpha.PLAY1548intltelinputupdatelatest4162 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.5.0.pre.alpha.PBNTR595popoverwidthpropfilterpopoverprop4158 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.5.0.pre.alpha.PBNTR614advancedtablepoc4155 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.6.0.pre.rc.19 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.6.0.pre.rc.18 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.5.0.pre.alpha.play1549upgradereactmodal4130 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.5.0.pre.alpha.PLAY1601updatereactzoompanpinch4128 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.5.0.pre.alpha.PLAY1601updatereactzoompanpinch4123 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.6.0.pre.rc.17 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.5.0.pre.alpha.play1586datearea4115 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.6.0.pre.rc.16 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.5.0.pre.alpha.PLAY1485selectablecardoverflowoutlinebug4098 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.5.0.pre.alpha.PLAY1485selectablecardoverflowoutlinebug4097 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.5.0.pre.alpha.PLAY1485selectablecardoverflowoutlinebug4094 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.6.0.pre.rc.15 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.5.0.pre.alpha.PLAY1548intltelinputupdatelatest4077 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.6.0.pre.rc.14 dist/chunks/pb_form_validation-D9zkwt2b.js
playbook_ui-14.5.0.pre.alpha.PLAY1548intltelinputupdatelatest4073 dist/chunks/pb_form_validation-D9zkwt2b.js