From 9325b4ce2b92d6133f4c96841484311d282ef896 Mon Sep 17 00:00:00 2001 From: shankarThiyagaraajan Date: Thu, 3 Aug 2017 11:09:55 +0530 Subject: [PATCH] - V.2.0 Final setups. --- src/js/formValidator.es6.js | 24 +++++++++++++++++++++++- src/js/formValidator.es6.min.js | 3 ++- src/js/formValidator.js | 27 +++++++++++++++++++++++---- src/js/formValidator.min.js | 3 ++- 4 files changed, 50 insertions(+), 7 deletions(-) diff --git a/src/js/formValidator.es6.js b/src/js/formValidator.es6.js index 5af1008..2ac07ab 100644 --- a/src/js/formValidator.es6.js +++ b/src/js/formValidator.es6.js @@ -810,16 +810,38 @@ class jsRuleSets { let status = false; // If field is not required, then return "true". if (false === elem1.required) status = true; + // 2'nd element's ID. let elem2_id = elem1.getAttribute('data-check'); + // Default 2'nd element comparision. + let elem2_value = ''; + // Secondary element. + let elem2 = false; + // Verify, 2'nd element is defined or not. if (typeof elem2_id == 'undefined' || elem2_id == null) status = false; + // If null, then take it's a primary element. if (elem2_id === null) elem2_id = elem1.getAttribute('data-parent'); + // If secondary element not defined, then "status" will FALSE. if (elem2_id === null) { status = false; } else { + // If set, then take secondary element's id. elem2_id = elem2_id.toString(); - let elem2 = document.getElementById(elem2_id); + // Get value of secondary element. + elem2 = document.getElementById(elem2_id); + // If both values are same, then "status" will TRUE. if (elem1.value === elem2.value) status = true; + // Value of secondary element. + elem2_value = elem2.value; } + + // Throw error message for password validation. + if (true === status || '' === elem2_value) { + // Hardly remove the error message. + document.getElementById(elem1.name + __err_id_suffix_rand_hash).remove(); + // Verify and remove error message. + if (false !== elem2) document.getElementById(elem2.name + __err_id_suffix_rand_hash).remove(); + } + //jsLogger.out('Compare Status', status); return status; }; diff --git a/src/js/formValidator.es6.min.js b/src/js/formValidator.es6.min.js index 23455c4..13371df 100644 --- a/src/js/formValidator.es6.min.js +++ b/src/js/formValidator.es6.min.js @@ -48,7 +48,8 @@ class jsRuleSets{checkValidation(activeElem,log){let validElem=!0;let jsRuleSets return log};isSet(elem){if(!1===elem.required)return!0;let status=!0;let value=elem.value;if(value.length===0||value===''||value===' '||value==='[]')status=!1;return status};min(elem){if(!1===elem.required)return!0;let status=!0;let value=elem.value;let min=elem.min;if(value.lengthmax&&value.length!=0)status=!1;return status};email(elem){if(!1===elem.required)return!0;let status=!1;let email=elem.value;if(typeof email==='undefined')return!1;email=email.toString();if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)){status=!0} if(!email)status=!1;return status};file(elem){let list_to_allow=elem.target.getAttribute('data-extensions');let target=elem.target;let list_to_allow_array;let file_response;if(''===list_to_allow)return!0;if(-1===list_to_allow.indexOf(',')){list_to_allow_array=[list_to_allow]}else{list_to_allow_array=list_to_allow.split(',')} let fileName=target.value;fileName=fileName.toLowerCase();file_response=(new RegExp('('+list_to_allow_array.join('|').replace(/\./g,'\\.')+')$')).test(fileName);if(!1===file_response){alert('Allowed file types are "'+list_to_allow+'" !');elem.target.value='';return!1} - return!0};phone(elem,pattern){if(!1===elem.required)return!0;let status=!0;if(elem.value==='')status=!1;return status};compare(elem1){let status=!1;if(!1===elem1.required)status=!0;let elem2_id=elem1.getAttribute('data-check');if(typeof elem2_id=='undefined'||elem2_id==null)status=!1;if(elem2_id===null)elem2_id=elem1.getAttribute('data-parent');if(elem2_id===null){status=!1}else{elem2_id=elem2_id.toString();let elem2=document.getElementById(elem2_id);if(elem1.value===elem2.value)status=!0} + return!0};phone(elem,pattern){if(!1===elem.required)return!0;let status=!0;if(elem.value==='')status=!1;return status};compare(elem1){let status=!1;if(!1===elem1.required)status=!0;let elem2_id=elem1.getAttribute('data-check');let elem2_value='';let elem2=!1;if(typeof elem2_id=='undefined'||elem2_id==null)status=!1;if(elem2_id===null)elem2_id=elem1.getAttribute('data-parent');if(elem2_id===null){status=!1}else{elem2_id=elem2_id.toString();elem2=document.getElementById(elem2_id);if(elem1.value===elem2.value)status=!0;elem2_value=elem2.value} + if(!0===status||''===elem2_value){document.getElementById(elem1.name+__err_id_suffix_rand_hash).remove();if(!1!==elem2)document.getElementById(elem2.name+__err_id_suffix_rand_hash).remove()} return status}} class jsFormError{constructor(){this.errorHit=!1;this.errorCss=!1;this.successCss=!1} init(){this.errorHit=!1;this.errorCss='border-color: red;border-radius: 5px;color: red;';this.successCss='border-color: green;border-radius: 5px;color: green;'};log(){};style(css){this.errorCss=css.error;this.successCss=css.success}} diff --git a/src/js/formValidator.js b/src/js/formValidator.js index 8a94c78..ea3bbad 100644 --- a/src/js/formValidator.js +++ b/src/js/formValidator.js @@ -768,20 +768,39 @@ function jsRuleSets() { var status = false; // If field is not required, then return "true". if (false === elem1.required) status = true; + // 2'nd element's ID. var elem2_id = elem1.getAttribute('data-check'); + // Default 2'nd element comparision. + var elem2_value = ''; + // Secondary element. + var elem2 = false; + // Verify, 2'nd element is defined or not. if (typeof elem2_id == 'undefined' || elem2_id == null) status = false; + // If null, then take it's a primary element. if (elem2_id === null) elem2_id = elem1.getAttribute('data-parent'); + // If secondary element not defined, then "status" will FALSE. if (elem2_id === null) { status = false; } else { + // If set, then take secondary element's id. elem2_id = elem2_id.toString(); - var elem2 = document.getElementById(elem2_id); + // Get value of secondary element. + elem2 = document.getElementById(elem2_id); + // If both values are same, then "status" will TRUE. if (elem1.value === elem2.value) status = true; + // Value of secondary element. + elem2_value = elem2.value; } - // Hardly remove the error message. - // document.getElementById(elem1.name + __err_id_suffix_rand_hash).remove(); - // document.getElementById(elem2.name + __err_id_suffix_rand_hash).remove(); + // Throw error message for password validation. + if (true === status || '' === elem2_value) { + // Hardly remove the error message. + document.getElementById(elem1.name + __err_id_suffix_rand_hash).remove(); + // Verify and remove error message. + if (false !== elem2) document.getElementById(elem2.name + __err_id_suffix_rand_hash).remove(); + } + + //jsLogger.out('Compare Status', status); return status; }; } diff --git a/src/js/formValidator.min.js b/src/js/formValidator.min.js index 9ae653b..e3f66c9 100644 --- a/src/js/formValidator.min.js +++ b/src/js/formValidator.min.js @@ -46,7 +46,8 @@ function jsRuleSets(){this.checkValidation=function(activeElem,log){var validEle this.isSet=function(elem){if(!1===elem.required)return!0;var status=!0;var value=elem.value;if(value.length===0||value===''||value===' '||value==='[]')status=!1;return status};this.min=function(elem){if(!1===elem.required)return!0;var status=!0;var value=elem.value;var min=elem.min;if(value.lengthmax&&value.length!=0)status=!1;return status};this.email=function(elem){if(!1===elem.required)return!0;var status=!1;var email=elem.value;if(typeof email==='undefined')return!1;email=email.toString();if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)){status=!0} if(!email)status=!1;return status};this.file=function(elem){var list_to_allow=elem.target.getAttribute('data-extensions');var target=elem.target;var list_to_allow_array;var file_response;if(''===list_to_allow)return!0;if(-1===list_to_allow.indexOf(',')){list_to_allow_array=[list_to_allow]}else{list_to_allow_array=list_to_allow.split(',')} var fileName=target.value;fileName=fileName.toLowerCase();file_response=(new RegExp('('+list_to_allow_array.join('|').replace(/\./g,'\\.')+')$')).test(fileName);if(!1===file_response){alert('Allowed file types are "'+list_to_allow+'" !');elem.target.value='';return!1} - return!0};this.phone=function(elem,pattern){if(!1===elem.required)return!0;var status=!0;if(elem.value==='')status=!1;return status};this.compare=function(elem1){var status=!1;if(!1===elem1.required)status=!0;var elem2_id=elem1.getAttribute('data-check');if(typeof elem2_id=='undefined'||elem2_id==null)status=!1;if(elem2_id===null)elem2_id=elem1.getAttribute('data-parent');if(elem2_id===null){status=!1}else{elem2_id=elem2_id.toString();var elem2=document.getElementById(elem2_id);if(elem1.value===elem2.value)status=!0} + return!0};this.phone=function(elem,pattern){if(!1===elem.required)return!0;var status=!0;if(elem.value==='')status=!1;return status};this.compare=function(elem1){var status=!1;if(!1===elem1.required)status=!0;var elem2_id=elem1.getAttribute('data-check');var elem2_value='';var elem2=!1;if(typeof elem2_id=='undefined'||elem2_id==null)status=!1;if(elem2_id===null)elem2_id=elem1.getAttribute('data-parent');if(elem2_id===null){status=!1}else{elem2_id=elem2_id.toString();elem2=document.getElementById(elem2_id);if(elem1.value===elem2.value)status=!0;elem2_value=elem2.value} + if(!0===status||''===elem2_value){document.getElementById(elem1.name+__err_id_suffix_rand_hash).remove();if(!1!==elem2)document.getElementById(elem2.name+__err_id_suffix_rand_hash).remove()} return status}} function jsFormError(){this.errorHit=!1;this.errorCss=!1;this.successCss=!1;this.init=function(){this.errorHit=!1;this.errorCss='border-color: red;border-radius: 5px;color: red;';this.successCss='border-color: green;border-radius: 5px;color: green;'};this.log=function(){};this.style=function(css){this.errorCss=css.error;this.successCss=css.success}} var jsLogger={status:function(){return __status_log},out:function(heading,message){if(!0!==this.status())return!1;console.log('======'+heading+'======');console.log(message);console.log('------------------------')},bulk:function(data){if(!0!==this.status())return!1;console.log(data)},table:function(data){if(!0!==this.status())return!1;console.table(data)}};var helper={isWindowAction:function(event){var theEvent=event||window.event;var key=theEvent.shiftKey||theEvent.which;if(key===9||key===0||key===8||key===32||key===13||key===8||(key>=35&&key<=40)){return!0}