@upendradevsingh/webcore
Version:
UI Core Components for web
116 lines (108 loc) • 4.63 kB
JavaScript
;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var validator = function () {
function validator(value, type) {
_classCallCheck(this, validator);
this.data = value;
this.validateType = type;
this.expression = '';
this.isValid = false;
}
_createClass(validator, [{
key: 'checkValidation',
value: function checkValidation(data, match, val) {
var rule = void 0;
if (val === false) {
return true;
}
switch (match) {
case 'email':
rule = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
break;
case 'required':
rule = /^(\w|\d)+$/;
break;
case 'isValidNumber':
case 'isValidAgentCompaign':
rule = /^\d+$/i;
break;
case 'alphaNumeric':
case 'isValidFullname':
case 'isValidCardName':
rule = /^[a-zA-Z0-9]+$/i;
break;
case 'isValidName':
case 'isValidMessage':
rule = /^[a-zA-Z ]*$/;
break;
case 'isValidMessageEx':
rule = /^[ \w():@./#&!?,"';+-]*$/;
break;
case 'isValidPassword':
rule = /[a-zA-Z0-9].{5,}/;
break;
case 'isValidPostcode':
rule = /^([1-9][0-9]).{6,6}$/;
break;
case 'isValidDob':
rule = /^\d{1,2}\-\d{1,2}\-\d{4}$/;
break;
case 'isValidDate':
rule = /^\d{2}\-\d{2}\-\d{4}$/;
break;
case 'isValidAgentEmpCode':
rule = /^([1-9][0-9]).{1,20}$/;
break;
case 'isValidAgentPassword':
rule = /^([1-9][0-9]).{3}$/;
break;
case 'isValidAddressName':
rule = /^[A-Za-z]+(\.[A-Za-z])*([A-Za-z]*)$/;
break;
case 'isValidFirstname':
case 'isValidLastname':
rule = /^[a-zA-Z]*$/;
break;
case 'isValidCVV':
rule = /^[0-9]{3,4}$/;
break;
case 'isValidPaybackno':
rule = /^(\d{10}|\d{16})$/;
break;
case 'isValidMobileno':
rule = /^\d{10}/;
}
if (typeof rule !== "undefined") {
return rule.test(data);
}
return false;
}
}, {
key: 'runValidationCheck',
value: function runValidationCheck() {
var $this = this;
// for (let itm = 0, len = (this.validateType).length; itm < len; itm++) {
// $this.isValid = $this.checkValidation($this.data, $this.validateType[itm]);
// if (!($this.isValid)) {
// return false;
// }
// if (itm === (len - 1)) {
// return true;
// }
// }
var lastElement = Object.keys(this.validateType).pop();
for (var itm in this.validateType) {
$this.isValid = $this.checkValidation($this.data, itm, $this.validateType[itm]);
if (!$this.isValid) {
return false;
}
if (itm === lastElement) {
return true;
}
}
}
}]);
return validator;
}();
module.exports = validator;