		getValidator: function (field) {
			let listOfValidators = [],
				fieldData = field.data(),
				fieldInfo = fieldData.fieldinfo;
			if (typeof fieldInfo === 'string') {
				fieldInfo = JSON.parse(fieldInfo);
			}
			let dataValidator = 'validator',
				moduleEle = field.closest('form').find('[name="module"]');
			if (Vtiger_Base_Validator_Js.moduleName === false && moduleEle.length > 0) {
				Vtiger_Base_Validator_Js.moduleName = moduleEle.val();
			}

			let fieldInstance = Vtiger_Field_Js.getInstance(fieldInfo),
				validatorsOfType = Vtiger_Base_Validator_Js.getValidatorsFromFieldType(fieldInstance),
				key,
				value;
			for (key in validatorsOfType) {
				//IE for loop fix
				if (!validatorsOfType.hasOwnProperty(key)) {
					continue;
				}
				value = validatorsOfType[key];
				if (value !== '') {
					listOfValidators.push({ name: value });
				}
			}
			if (fieldData.hasOwnProperty(dataValidator)) {
				let specialValidators = fieldData[dataValidator];
				for (key in specialValidators) {
					//IE for loop fix
					if (!specialValidators.hasOwnProperty(key)) {
						continue;
					}
					let specialValidator = specialValidators[key],
						tempSpecialValidator = jQuery.extend({}, specialValidator),
						validatorOfNames = Vtiger_Base_Validator_Js.getValidatorClassName(specialValidator.name);
					if (validatorOfNames !== '') {
						tempSpecialValidator.name = validatorOfNames;
						if (!jQuery.isEmptyObject(tempSpecialValidator)) {
							listOfValidators.push(tempSpecialValidator);
						}
					}
				}
			}
			return listOfValidators;
		},
The product receives input or data, but it does
        not validate or incorrectly validates that the input has the
        properties that are required to process the data safely and
        correctly.