UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

307 lines (250 loc) 10.1 kB
module.exports = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ({ /***/ 0: /***/ (function(module, exports, __webpack_require__) { __webpack_require__(16); module.exports = __webpack_require__(16); /***/ }), /***/ 3: /***/ (function(module, exports) { module.exports = function() { throw new Error("define cannot be used indirect"); }; /***/ }), /***/ 16: /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(f, define){ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(17) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (f), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); })(function(){ (function ($, undefined) { var nameSpecialCharRegExp = /("|\%|'|\[|\]|\$|\.|\,|\:|\;|\+|\*|\&|\!|\#|\(|\)|<|>|\=|\?|\@|\^|\{|\}|\~|\/|\||`)/g; var SWITCHSELECTOR = ".k-switch"; function generateMessages() { var name, messages = {}; for (name in validationRules) { messages["mvc" + name] = createMessage(name); } return messages; } function generateRules() { var name, rules = {}; for (name in validationRules) { rules["mvc" + name] = createRule(name); } return rules; } function extractParams(input, ruleName) { var params = {}, index, data = input.data(), length = ruleName.length, rule, key; for (key in data) { rule = key.toLowerCase(); index = rule.indexOf(ruleName); if (index > -1) { rule = rule.substring(index + length, key.length); if (rule) { params[rule] = data[key]; } } } return params; } function rulesFromData(metadata) { var idx, length, fields = metadata.Fields || [], rules = {}; for (idx = 0, length = fields.length; idx < length; idx++) { $.extend(true, rules, rulesForField(fields[idx])); } return rules; } function rulesForField(field) { var rules = {}, messages = {}, fieldName = field.FieldName, fieldRules = field.ValidationRules, validationType, validationParams, idx, length; for (idx = 0, length = fieldRules.length; idx < length; idx++) { validationType = fieldRules[idx].ValidationType; validationParams = fieldRules[idx].ValidationParameters; rules[fieldName + validationType] = createMetaRule(fieldName, validationType, validationParams); messages[fieldName + validationType] = createMetaMessage(fieldRules[idx].ErrorMessage); } return { rules: rules, messages: messages }; } function createMessage(rule) { return function (input) { return input.attr("data-val-" + rule); }; } function createRule(ruleName) { return function (input) { if (input.filter("[data-val-" + ruleName + "]").length) { return validationRules[ruleName](input, extractParams(input, ruleName)); } return true; }; } function createMetaMessage(message) { return function() { return message; }; } function createMetaRule(fieldName, type, params) { return function (input) { if (input.filter("[name=" + fieldName + "]").length) { return validationRules[type](input, params); } return true; }; } function patternMatcher(value, pattern) { if (typeof pattern === "string") { pattern = new RegExp('^(?:' + pattern + ')$'); } return pattern.test(value); } var validationRules = { required: function (input) { var value = input.val(), checkbox = input.filter("[type=checkbox]"), name; if (checkbox.length) { name = checkbox[0].name.replace(nameSpecialCharRegExp, "\\$1"); var hiddenSelector = "input:hidden[name='" + name + "']"; if (checkbox.closest(SWITCHSELECTOR).length) { checkbox = checkbox.closest(SWITCHSELECTOR); } var hidden = checkbox.next(hiddenSelector); if (!hidden.length) { hidden = checkbox.next("label.k-checkbox-label").next(hiddenSelector); } if (hidden.length) { value = hidden.val(); } else { value = input.prop("checked") === true; } } return !(value === "" || !value || value.length === 0); }, number: function (input) { /* jshint eqnull:true */ return input.val() === "" || input.val() == null || kendo.parseFloat(input.val()) !== null; }, regex: function (input, params) { if (input.val() !== "") { return patternMatcher(input.val(), params.pattern); } return true; }, range: function(input, params) { if (input.val() !== "") { return this.min(input, params) && this.max(input, params); } return true; }, min: function(input, params) { var min = parseFloat(params.min) || 0, val = kendo.parseFloat(input.val()); return min <= val; }, max: function(input, params) { var max = parseFloat(params.max) || 0, val = kendo.parseFloat(input.val()); return val <= max; }, date: function(input) { return input.val() === "" || kendo.parseDate(input.val()) !== null; }, length: function(input, params) { if (input.val() !== "") { var len = $.trim(input.val()).length; return (!params.min || len >= (params.min || 0)) && (!params.max || len <= (params.max || 0)); } return true; } }; $.extend(true, kendo.ui.validator, { rules: generateRules(), messages: generateMessages(), messageLocators: { mvcLocator: { locate: function (element, fieldName) { fieldName = fieldName.replace(nameSpecialCharRegExp, "\\$1"); return element.find(".field-validation-valid[data-valmsg-for='" + fieldName + "'], .field-validation-error[data-valmsg-for='" + fieldName + "']"); }, decorate: function (message, fieldName) { message.addClass("field-validation-error").attr("data-valmsg-for", fieldName || ""); } }, mvcMetadataLocator: { locate: function (element, fieldName) { fieldName = fieldName.replace(nameSpecialCharRegExp, "\\$1"); return element.find("#" + fieldName + "_validationMessage.field-validation-valid"); }, decorate: function (message, fieldName) { message.addClass("field-validation-error").attr("id", fieldName + "_validationMessage"); } } }, ruleResolvers: { mvcMetaDataResolver: { resolve: function (element) { var metadata = window.mvcClientValidationMetadata || []; if (metadata.length) { element = $(element); for (var idx = 0; idx < metadata.length; idx++) { if (metadata[idx].FormId == element.attr("id")) { return rulesFromData(metadata[idx]); } } } return {}; } } } }); })(window.kendo.jQuery); }, __webpack_require__(3)); /***/ }), /***/ 17: /***/ (function(module, exports) { module.exports = require("./kendo.imagebrowser.aspnetmvc"); /***/ }) /******/ });