UNPKG

@upendradevsingh/webcore

Version:
116 lines (108 loc) 4.63 kB
'use strict'; 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;