From 40e06a1bafd2ce61dba37779ee77e796ad397b81 Mon Sep 17 00:00:00 2001 From: Nicklas Ansman Giertz Date: Sat, 15 Jun 2019 13:39:16 -0400 Subject: [PATCH] Release version 0.13.1 --- bower.json | 2 +- component.json | 2 +- docs/validate.html | 267 +++++++++++++++++++++++++++++---------------- index.html | 41 +++---- package.json | 2 +- validate.js | 10 +- validate.min.js | 4 +- validate.min.map | 2 +- 8 files changed, 199 insertions(+), 131 deletions(-) diff --git a/bower.json b/bower.json index d54901a..47a68cd 100644 --- a/bower.json +++ b/bower.json @@ -2,7 +2,7 @@ "name": "validate", "description": "Declarative validations for JavaScript", "main": "validate.js", - "version": "0.12.0", + "version": "0.13.1", "moduleType": [ "amd", "globals", diff --git a/component.json b/component.json index cf8cb09..9834be4 100644 --- a/component.json +++ b/component.json @@ -5,7 +5,7 @@ "repo" : "ansman/validate.js", "main" : "validate.js", "scripts" : ["validate.js"], - "version" : "0.12.0", + "version" : "0.13.1", "license" : "MIT" } diff --git a/docs/validate.html b/docs/validate.html index 96360c0..f61b7aa 100644 --- a/docs/validate.html +++ b/docs/validate.html @@ -31,9 +31,9 @@

validate.js

/*!
- * validate.js 0.12.0
+ * validate.js 0.13.1
  *
- * (c) 2013-2017 Nicklas Ansman, 2013 Wrapp
+ * (c) 2013-2019 Nicklas Ansman, 2013 Wrapp
  * Validate.js may be freely distributed under the MIT license.
  * For all details and documentation:
  * http://validatejs.org/
@@ -123,11 +123,11 @@ 

validate.js

    version: {
-      major: 0,
-      minor: 12,
-      patch: 0,
-      metadata: null,
-      toString: function() {
+      major: 0,
+      minor: 13,
+      patch: 1,
+      metadata: null,
+      toString: function() {
         var version = v.format("%{major}.%{minor}.%{patch}", v.version);
         if (!v.isEmpty(v.version.metadata)) {
           version += "+" + v.version.metadata;
@@ -167,7 +167,7 @@ 

validate.js

    Promise: typeof Promise !== "undefined" ? Promise : /* istanbul ignore next */ null,
 
-    EMPTY_STRING_REGEXP: /^\s*$/,
+ EMPTY_STRING_REGEXP: /^\s*$/,
@@ -237,7 +237,7 @@

validate.js

validator = v.validators[validatorName]; if (!validator) { - error = v.format("Unknown validator %{name}", {name: validatorName}); + error = v.format("Unknown validator %{name}", {name: validatorName}); throw new Error(error); } @@ -265,13 +265,13 @@

validate.js

continue; } results.push({ - attribute: attr, - value: value, - validator: validatorName, - globalOptions: options, - attributes: attributes, - options: validatorOptions, - error: validator.call(validator, + attribute: attr, + value: value, + validator: validatorName, + globalOptions: options, + attributes: attributes, + options: validatorOptions, + error: validator.call(validator, value, validatorOptions, attr, @@ -370,12 +370,12 @@

validate.js

}); }, - single: function(value, constraints, options) { + single: function(value, constraints, options) { options = v.extend({}, v.single.options, options, { - format: "flat", - fullMessages: false + format: "flat", + fullMessages: false }); - return v({single: value}, {single: constraints}, options); + return v({single: value}, {single: constraints}, options); },
@@ -451,8 +451,7 @@

validate.js

arguments to the function. Example:

result('foo') // 'foo'
-result(Math.max, 1, 2) // 2
-
+result(Math.max, 1, 2) // 2
    result: function(value) {
@@ -602,11 +601,11 @@ 

validate.js

return !!p && v.isFunction(p.then); }, - isJqueryElement: function(o) { + isJqueryElement: function(o) { return o && v.isString(o.jquery); }, - isDomElement: function(o) { + isDomElement: function(o) { if (!o) { return false; } @@ -644,7 +643,7 @@

validate.js

} }, - isEmpty: function(value) { + isEmpty: function(value) { var attr;
@@ -765,8 +764,7 @@

validate.js

Formats the specified strings with the given values like so:

-
format("Foo: %{foo}", {foo: "bar"}) // "Foo bar"
-

If you want to write %{…} without having it replaced simply +

format("Foo: %{foo}", {foo: "bar"}) // "Foo bar"

If you want to write %{…} without having it replaced simply prefix it with % like this Foo: %%{foo} and it will be returned as "Foo: %{foo}"

@@ -844,6 +842,10 @@

validate.js

} if (v.isObject(str)) { + if (!v.isDefined(str.toString)) { + return JSON.stringify(str); + } + return str.toString(); } @@ -928,16 +930,16 @@

validate.js

.toLowerCase(); }, - stringifyValue: function(value, options) { + stringifyValue: function(value, options) { var prettify = options && options.prettify || v.prettify; return prettify(value); }, - isString: function(value) { + isString: function(value) { return typeof value === 'string'; }, - isArray: function(value) { + isArray: function(value) { return {}.toString.call(value) === '[object Array]'; }, @@ -959,7 +961,7 @@

validate.js

return v.isObject(value) && !v.isArray(value) && !v.isFunction(value); }, - contains: function(obj, value) { + contains: function(obj, value) { if (!v.isDefined(obj)) { return false; } @@ -969,7 +971,7 @@

validate.js

return value in obj; }, - unique: function(array) { + unique: function(array) { if (!v.isArray(array)) { return array; } @@ -978,7 +980,7 @@

validate.js

}); }, - forEachKeyInKeypath: function(object, keypath, callback) { + forEachKeyInKeypath: function(object, keypath, callback) { if (!v.isString(keypath)) { return undefined; } @@ -1018,7 +1020,7 @@

validate.js

return callback(object, key, true); }, - getDeepObjectValue: function(obj, keypath) { + getDeepObjectValue: function(obj, keypath) { if (!v.isObject(obj)) { return undefined; } @@ -1041,10 +1043,10 @@

validate.js

This returns an object with all the values of the form. It uses the input name as key and the value as value -So for example this:

-

+So for example this: + would return: -{email: “foo@bar.com”}

+{email: “foo@bar.com“}

@@ -1075,7 +1077,7 @@

validate.js

continue; } - name = input.name.replace(/\./g, "\\\\."); + var name = input.name.replace(/\./g, "\\\\."); value = v.sanitizeFormValue(input.value, options); if (input.type === "number") { value = value ? +value : null; @@ -1111,7 +1113,7 @@

validate.js

} } } else { - var _val = typeof input.options[input.selectedIndex] !== 'undefined' ? input.options[input.selectedIndex].value : ''; + var _val = typeof input.options[input.selectedIndex] !== 'undefined' ? input.options[input.selectedIndex].value : /* istanbul ignore next */ ''; value = v.sanitizeFormValue(_val, options); } values[input.name] = value; @@ -1120,7 +1122,7 @@

validate.js

return values; }, - sanitizeFormValue: function(value, options) { + sanitizeFormValue: function(value, options) { if (options.trim && v.isString(value)) { value = value.trim(); } @@ -1131,7 +1133,7 @@

validate.js

return value; }, - capitalize: function(str) { + capitalize: function(str) { if (!v.isString(str)) { return str; } @@ -1194,7 +1196,7 @@

validate.js

        if (v.isArray(error.error)) {
           error.error.forEach(function(msg) {
-            ret.push(v.extend({}, error, {error: msg}));
+            ret.push(v.extend({}, error, {error: msg}));
           });
         } else {
           ret.push(error);
@@ -1242,9 +1244,9 @@ 

validate.js

} error = error.replace(/\\\^/g, "^"); error = v.format(error, { - value: v.stringifyValue(errorInfo.value, options) + value: v.stringifyValue(errorInfo.value, options) }); - ret.push(v.extend({}, errorInfo, {error: error})); + ret.push(v.extend({}, errorInfo, {error: error})); }); return ret; },
@@ -1288,9 +1290,9 @@

validate.js

In: -[{error: ““, …}, {error: ““, …}] +[{error: “<message 1>”, …}, {error: “<message 2>”, …}] Out: -[““, ““]

+[“<message 1>”, “<message 2>”]

@@ -1302,7 +1304,7 @@

validate.js

}); }, - cleanAttributes: function(attributes, whitelist) { + cleanAttributes: function(attributes, whitelist) { function whitelistCreator(obj, key, last) { if (v.isObject(obj[key])) { return obj[key]; @@ -1352,7 +1354,7 @@

validate.js

return cleanRecursive(attributes, whitelist); }, - exposeModule: function(validate, root, exports, module, define) { + exposeModule: function(validate, root, exports, module, define) { if (exports) { if (module && module.exports) { exports = module.exports = validate; @@ -1366,13 +1368,13 @@

validate.js

} }, - warn: function(msg) { + warn: function(msg) { if (typeof console !== "undefined" && console.warn) { console.warn("[validate.js] " + msg); } }, - error: function(msg) { + error: function(msg) { if (typeof console !== "undefined" && console.error) { console.error("[validate.js] " + msg); } @@ -1400,7 +1402,7 @@

validate.js

return options.message || this.message || "can't be blank"; } }, - length: function(value, options, attribute) { + length: function(value, options, attribute) { @@ -1431,7 +1433,6 @@

validate.js

value = tokenizer(value); var length = value.length; if(!v.isNumber(length)) { - v.error(v.format("Attribute %{attr} has a non numeric value for `length`", {attr: attribute})); return options.message || this.notValid || "has an incorrect length"; } @@ -1452,28 +1453,28 @@

validate.js

err = options.wrongLength || this.wrongLength || "is the wrong length (should be %{count} characters)"; - errors.push(v.format(err, {count: is})); + errors.push(v.format(err, {count: is})); } if (v.isNumber(minimum) && length < minimum) { err = options.tooShort || this.tooShort || "is too short (minimum is %{count} characters)"; - errors.push(v.format(err, {count: minimum})); + errors.push(v.format(err, {count: minimum})); } if (v.isNumber(maximum) && length > maximum) { err = options.tooLong || this.tooLong || "is too long (maximum is %{count} characters)"; - errors.push(v.format(err, {count: maximum})); + errors.push(v.format(err, {count: maximum})); } if (errors.length > 0) { return options.message || errors; } }, - numericality: function(value, options, attribute, attributes, globalOptions) { + numericality: function(value, options, attribute, attributes, globalOptions) { @@ -1498,12 +1499,12 @@

validate.js

, name , count , checks = { - greaterThan: function(v, c) { return v > c; }, - greaterThanOrEqualTo: function(v, c) { return v >= c; }, - equalTo: function(v, c) { return v === c; }, - lessThan: function(v, c) { return v < c; }, - lessThanOrEqualTo: function(v, c) { return v <= c; }, - divisibleBy: function(v, c) { return v % c === 0; } + greaterThan: function(v, c) { return v > c; }, + greaterThanOrEqualTo: function(v, c) { return v >= c; }, + equalTo: function(v, c) { return v === c; }, + lessThan: function(v, c) { return v < c; }, + lessThanOrEqualTo: function(v, c) { return v <= c; }, + divisibleBy: function(v, c) { return v % c === 0; } } , prettify = options.prettify || (globalOptions && globalOptions.prettify) || @@ -1624,8 +1625,8 @@

validate.js

"must be %{type} %{count}"; errors.push(v.format(msg, { - count: count, - type: prettify(name) + count: count, + type: prettify(name) })); } } @@ -1647,7 +1648,7 @@

validate.js

return options.message || errors; } }, - datetime: v.extend(function(value, options) { + datetime: v.extend(function(value, options) { if (!v.isFunction(this.parse) || !v.isFunction(this.format)) { throw new Error("Both the parse and format functions needs to be set to use the datetime/date validator"); } @@ -1697,7 +1698,7 @@

validate.js

options.message || this.notValid || "must be a valid date"; - return v.format(err, {value: arguments[0]}); + return v.format(err, {value: arguments[0]}); } if (!isNaN(earliest) && value < earliest) { @@ -1706,8 +1707,8 @@

validate.js

this.tooEarly || "must be no earlier than %{date}"; err = v.format(err, { - value: this.format(value, options), - date: this.format(earliest, options) + value: this.format(value, options), + date: this.format(earliest, options) }); errors.push(err); } @@ -1718,8 +1719,8 @@

validate.js

this.tooLate || "must be no later than %{date}"; err = v.format(err, { - date: this.format(latest, options), - value: this.format(value, options) + date: this.format(latest, options), + value: this.format(value, options) }); errors.push(err); } @@ -1728,16 +1729,16 @@

validate.js

return v.unique(errors); } }, { - parse: null, - format: null + parse: null, + format: null }), - date: function(value, options) { - options = v.extend({}, options, {dateOnly: true}); + date: function(value, options) { + options = v.extend({}, options, {dateOnly: true}); return v.validators.datetime.call(v.validators.datetime, value, options); }, - format: function(value, options) { + format: function(value, options) { if (v.isString(options) || (options instanceof RegExp)) { - options = {pattern: options}; + options = {pattern: options}; } options = v.extend({}, this.options, options); @@ -1774,7 +1775,7 @@

validate.js

return message; } }, - inclusion: function(value, options) { + inclusion: function(value, options) { @@ -1793,7 +1794,7 @@

validate.js

return; } if (v.isArray(options)) { - options = {within: options}; + options = {within: options}; } options = v.extend({}, this.options, options); if (v.contains(options.within, value)) { @@ -1802,9 +1803,9 @@

validate.js

var message = options.message || this.message || "^%{value} is not included in the list"; - return v.format(message, {value: value}); + return v.format(message, {value: value}); }, - exclusion: function(value, options) { + exclusion: function(value, options) { @@ -1823,16 +1824,19 @@

validate.js

return; } if (v.isArray(options)) { - options = {within: options}; + options = {within: options}; } options = v.extend({}, this.options, options); if (!v.contains(options.within, value)) { return; } var message = options.message || this.message || "^%{value} is restricted"; - return v.format(message, {value: value}); + if (v.isString(options.within[value])) { + value = options.within[value]; + } + return v.format(message, {value: value}); }, - email: v.extend(function(value, options) { + email: v.extend(function(value, options) { options = v.extend({}, this.options, options); var message = options.message || this.message || "is not a valid email"; @@ -1859,15 +1863,15 @@

validate.js

return message; } }, { - PATTERN: /^[a-z0-9\u007F-\uffff!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9\u007F-\uffff!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,}$/i + PATTERN: /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i }), - equality: function(value, options, attribute, attributes, globalOptions) { + equality: function(value, options, attribute, attributes, globalOptions) { if (!v.isDefined(value)) { return; } if (v.isString(options)) { - options = {attribute: options}; + options = {attribute: options}; } options = v.extend({}, this.options, options); var message = options.message || @@ -1887,7 +1891,7 @@

validate.js

v.prettify; if (!comparator(value, otherValue, options, attribute, attributes)) { - return v.format(message, {attribute: prettify(options.attribute)}); + return v.format(message, {attribute: prettify(options.attribute)}); } }, @@ -1914,8 +1918,8 @@

validate.js

var message = options.message || this.message || "is not a valid url" , schemes = options.schemes || this.schemes || ['http', 'https'] - , allowLocal = options.allowLocal || this.allowLocal || false; - + , allowLocal = options.allowLocal || this.allowLocal || false + , allowDataUrl = options.allowDataUrl || this.allowDataUrl || false; if (!v.isString(value)) { return message; } @@ -2080,17 +2084,92 @@

validate.js

        "(?:[/?#]\\S*)?" +
       "$";
 
+      if (allowDataUrl) {
+ + + + +
  • +
    + +
    + +
    +

    RFC 2397

    + +
    + +
            var mediaType = "\\w+\\/[-+.\\w]+(?:;[\\w=]+)*";
    +        var urlchar = "[A-Za-z0-9-_.!~\\*'();\\/?:@&=+$,%]*";
    +        var dataurl = "data:(?:"+mediaType+")?(?:;base64)?,"+urlchar;
    +        regex = "(?:"+regex+")|(?:^"+dataurl+"$)";
    +      }
    +
           var PATTERN = new RegExp(regex, 'i');
           if (!PATTERN.exec(value)) {
             return message;
           }
    -    }
    +    },
    +    type: v.extend(function(value, originalOptions, attribute, attributes, globalOptions) {
    +      if (v.isString(originalOptions)) {
    +        originalOptions = {type: originalOptions};
    +      }
    +
    +      if (!v.isDefined(value)) {
    +        return;
    +      }
    +
    +      var options = v.extend({}, this.options, originalOptions);
    +
    +      var type = options.type;
    +      if (!v.isDefined(type)) {
    +        throw new Error("No type was specified");
    +      }
    +
    +      var check;
    +      if (v.isFunction(type)) {
    +        check = type;
    +      } else {
    +        check = this.types[type];
    +      }
    +
    +      if (!v.isFunction(check)) {
    +        throw new Error("validate.validators.type.types." + type + " must be a function.");
    +      }
    +
    +      if (!check(value, options, attribute, attributes, globalOptions)) {
    +        var message = originalOptions.message ||
    +          this.messages[type] ||
    +          this.message ||
    +          options.message ||
    +          (v.isFunction(type) ? "must be of the correct type" : "must be of type %{type}");
    +
    +        if (v.isFunction(message)) {
    +          message = message(value, originalOptions, attribute, attributes, globalOptions);
    +        }
    +
    +        return v.format(message, {attribute: v.prettify(attribute), type: type});
    +      }
    +    }, {
    +      types: {
    +        object: function(value) {
    +          return v.isObject(value) && !v.isArray(value);
    +        },
    +        array: v.isArray,
    +        integer: v.isInteger,
    +        number: v.isNumber,
    +        string: v.isString,
    +        date: v.isDate,
    +        boolean: v.isBoolean
    +      },
    +      messages: {}
    +    })
       };
     
       validate.formatters = {
    -    detailed: function(errors) {return errors;},
    -    flat: v.flattenErrorsToArray,
    -    grouped: function(errors) {
    +    detailed: function(errors) {return errors;},
    +    flat: v.flattenErrorsToArray,
    +    grouped: function(errors) {
           var attr;
     
           errors = v.groupErrorsByAttribute(errors);
    @@ -2099,7 +2178,7 @@ 

    validate.js

    } return errors; }, - constraint: function(errors) { + constraint: function(errors) { var attr; errors = v.groupErrorsByAttribute(errors); for (attr in errors) { diff --git a/index.html b/index.html index 3d28609..223de15 100644 --- a/index.html +++ b/index.html @@ -406,6 +406,7 @@
  • Changelog
      +
    • 0.13.1
    • 0.12.0
    • 0.11.1
    • 0.11.0
    • @@ -466,15 +467,15 @@

      Downloads

      - Development version (0.12.0) + Development version (0.13.1)
      - 36KB, uncompressed and plenty of comments + 38KB, uncompressed and plenty of comments
      - Production version (0.12.0) + Production version (0.13.1)
      - 4.66KB, minified and gzipped
      + 5.05KB, minified and gzipped
      (Source map)
      @@ -493,7 +494,7 @@

      Downloads

      Installing

      Browser/CDN -
      <script src="//cdnjs.cloudflare.com/ajax/libs/validate.js/0.12.0/validate.min.js"></script>
      +
      <script src="//cdnjs.cloudflare.com/ajax/libs/validate.js/0.13.1/validate.min.js"></script>
      Require.js/AMD
      require(["validate.js"], function(validate) {
         // ...
      @@ -2424,29 +2425,17 @@ 

      Utilities

      Changelog

      -
      +

      - WIP + 0.13.1 + - + Jun 15, 2018 + - + Docs + - + Diff

      -
        -
      • - Fix some issues with the email validation. Thanks - Yusuf Aji Wibowo - for reporting it. -
      • -
      • - If within in the exclusion validator is an object - the values are now used when formatting ${value} - in the message. Thanks - Rhys Lloyd - for reporting it. -
      • -
      • - There is now a type validator that will check the value's type. Thanks - Dmitry Kirilyuk - for suggesting this. -
      • -
      + See https://github.com/ansman/validate.js/releases/tag/0.13.1 for the changelog.

      diff --git a/package.json b/package.json index b5f9e2f..854b304 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "validate.js", - "version": "0.12.0", + "version": "0.13.1", "author": "Nicklas Ansman ", "description": "Declarative validations for JavaScript", "main": "validate.js", diff --git a/validate.js b/validate.js index 7b681b4..7df79a1 100644 --- a/validate.js +++ b/validate.js @@ -1,7 +1,7 @@ /*! - * validate.js 0.12.0 + * validate.js 0.13.1 * - * (c) 2013-2017 Nicklas Ansman, 2013 Wrapp + * (c) 2013-2019 Nicklas Ansman, 2013 Wrapp * Validate.js may be freely distributed under the MIT license. * For all details and documentation: * http://validatejs.org/ @@ -52,9 +52,9 @@ // The toString function will allow it to be coerced into a string version: { major: 0, - minor: 12, - patch: 0, - metadata: "development", + minor: 13, + patch: 1, + metadata: null, toString: function() { var version = v.format("%{major}.%{minor}.%{patch}", v.version); if (!v.isEmpty(v.version.metadata)) { diff --git a/validate.min.js b/validate.min.js index ec47e55..7a2830b 100644 --- a/validate.min.js +++ b/validate.min.js @@ -1,9 +1,9 @@ /*! - * validate.js 0.12.0 + * validate.js 0.13.1 * http://validatejs.org/ * (c) 2013-2015 Nicklas Ansman, 2013 Wrapp * validate.js may be freely distributed under the MIT license. */ -(function(a,b,c){"use strict";var d=function(a,b,c){c=e.extend({},e.options,c);var f=e.runValidations(a,b,c);if(f.some(function(a){return e.isPromise(a.error)}))throw new Error("Use validate.async if you want support for promises");return d.processValidationResults(f,c)},e=d;e.extend=function(a){return[].slice.call(arguments,1).forEach(function(b){for(var c in b)a[c]=b[c]}),a},e.extend(d,{version:{major:0,minor:12,patch:0,metadata:null,toString:function(){var a=e.format("%{major}.%{minor}.%{patch}",e.version);return e.isEmpty(e.version.metadata)||(a+="+"+e.version.metadata),a}},Promise:"undefined"!=typeof Promise?Promise:null,EMPTY_STRING_REGEXP:/^\s*$/,runValidations:function(a,b,c){var d,f,g,h,i,j,k,l=[];(e.isDomElement(a)||e.isJqueryElement(a))&&(a=e.collectFormValues(a));for(d in b){g=e.getDeepObjectValue(a,d),h=e.result(b[d],g,a,d,c,b);for(f in h){if(i=e.validators[f],!i)throw k=e.format("Unknown validator %{name}",{name:f}),new Error(k);j=h[f],j=e.result(j,g,a,d,c,b),j&&l.push({attribute:d,value:g,validator:f,globalOptions:c,attributes:a,options:j,error:i.call(i,g,j,d,a,c)})}}return l},processValidationResults:function(a,b){a=e.pruneEmptyErrors(a,b),a=e.expandMultipleErrors(a,b),a=e.convertErrorMessages(a,b);var c=b.format||"grouped";if("function"!=typeof e.formatters[c])throw new Error(e.format("Unknown format %{format}",b));return a=e.formatters[c](a),e.isEmpty(a)?void 0:a},async:function(a,b,c){c=e.extend({},e.async.options,c);var d=c.wrapErrors||function(a){return a};c.cleanAttributes!==!1&&(a=e.cleanAttributes(a,b));var f=e.runValidations(a,b,c);return new e.Promise(function(g,h){e.waitForResults(f).then(function(){var i=e.processValidationResults(f,c);i?h(new d(i,c,a,b)):g(a)},function(a){h(a)})})},single:function(a,b,c){return c=e.extend({},e.single.options,c,{format:"flat",fullMessages:!1}),e({single:a},{single:b},c)},waitForResults:function(a){return a.reduce(function(a,b){return e.isPromise(b.error)?a.then(function(){return b.error.then(function(a){b.error=a||null})}):a},new e.Promise(function(a){a()}))},result:function(a){var b=[].slice.call(arguments,1);return"function"==typeof a&&(a=a.apply(null,b)),a},isNumber:function(a){return"number"==typeof a&&!isNaN(a)},isFunction:function(a){return"function"==typeof a},isInteger:function(a){return e.isNumber(a)&&a%1===0},isBoolean:function(a){return"boolean"==typeof a},isObject:function(a){return a===Object(a)},isDate:function(a){return a instanceof Date},isDefined:function(a){return null!==a&&void 0!==a},isPromise:function(a){return!!a&&e.isFunction(a.then)},isJqueryElement:function(a){return a&&e.isString(a.jquery)},isDomElement:function(a){return a&&a.querySelectorAll&&a.querySelector?e.isObject(document)&&a===document?!0:"object"==typeof HTMLElement?a instanceof HTMLElement:a&&"object"==typeof a&&null!==a&&1===a.nodeType&&"string"==typeof a.nodeName:!1},isEmpty:function(a){var b;if(!e.isDefined(a))return!0;if(e.isFunction(a))return!1;if(e.isString(a))return e.EMPTY_STRING_REGEXP.test(a);if(e.isArray(a))return 0===a.length;if(e.isDate(a))return!1;if(e.isObject(a)){for(b in a)return!1;return!0}return!1},format:e.extend(function(a,b){return e.isString(a)?a.replace(e.format.FORMAT_REGEXP,function(a,c,d){return"%"===c?"%{"+d+"}":String(b[d])}):a},{FORMAT_REGEXP:/(%?)%\{([^\}]+)\}/g}),prettify:function(a){return e.isNumber(a)?100*a%1===0?""+a:parseFloat(Math.round(100*a)/100).toFixed(2):e.isArray(a)?a.map(function(a){return e.prettify(a)}).join(", "):e.isObject(a)?a.toString():(a=""+a,a.replace(/([^\s])\.([^\s])/g,"$1 $2").replace(/\\+/g,"").replace(/[_-]/g," ").replace(/([a-z])([A-Z])/g,function(a,b,c){return""+b+" "+c.toLowerCase()}).toLowerCase())},stringifyValue:function(a,b){var c=b&&b.prettify||e.prettify;return c(a)},isString:function(a){return"string"==typeof a},isArray:function(a){return"[object Array]"==={}.toString.call(a)},isHash:function(a){return e.isObject(a)&&!e.isArray(a)&&!e.isFunction(a)},contains:function(a,b){return e.isDefined(a)?e.isArray(a)?-1!==a.indexOf(b):b in a:!1},unique:function(a){return e.isArray(a)?a.filter(function(a,b,c){return c.indexOf(a)==b}):a},forEachKeyInKeypath:function(a,b,c){if(e.isString(b)){var d,f="",g=!1;for(d=0;dk&&(d=b.tooShort||this.tooShort||"is too short (minimum is %{count} characters)",j.push(e.format(d,{count:h}))),e.isNumber(g)&&k>g&&(d=b.tooLong||this.tooLong||"is too long (maximum is %{count} characters)",j.push(e.format(d,{count:g}))),j.length>0?b.message||j:void 0):(e.error(e.format("Attribute %{attr} has a non numeric value for `length`",{attr:c})),b.message||this.notValid||"has an incorrect length")}},numericality:function(a,b,c,d,f){if(e.isDefined(a)){b=e.extend({},this.options,b);var g,h,i=[],j={greaterThan:function(a,b){return a>b},greaterThanOrEqualTo:function(a,b){return a>=b},equalTo:function(a,b){return a===b},lessThan:function(a,b){return b>a},lessThanOrEqualTo:function(a,b){return b>=a},divisibleBy:function(a,b){return a%b===0}},k=b.prettify||f&&f.prettify||e.prettify;if(e.isString(a)&&b.strict){var l="^-?(0|[1-9]\\d*)";if(b.onlyInteger||(l+="(\\.\\d+)?"),l+="$",!new RegExp(l).test(a))return b.message||b.notValid||this.notValid||this.message||"must be a valid number"}if(b.noStrings!==!0&&e.isString(a)&&!e.isEmpty(a)&&(a=+a),!e.isNumber(a))return b.message||b.notValid||this.notValid||this.message||"is not a number";if(b.onlyInteger&&!e.isInteger(a))return b.message||b.notInteger||this.notInteger||this.message||"must be an integer";for(g in j)if(h=b[g],e.isNumber(h)&&!j[g](a,h)){var m="not"+e.capitalize(g),n=b[m]||this[m]||this.message||"must be %{type} %{count}";i.push(e.format(n,{count:h,type:k(g)}))}return b.odd&&a%2!==1&&i.push(b.notOdd||this.notOdd||this.message||"must be odd"),b.even&&a%2!==0&&i.push(b.notEven||this.notEven||this.message||"must be even"),i.length?b.message||i:void 0}},datetime:e.extend(function(a,b){if(!e.isFunction(this.parse)||!e.isFunction(this.format))throw new Error("Both the parse and format functions needs to be set to use the datetime/date validator");if(e.isDefined(a)){b=e.extend({},this.options,b);var c,d=[],f=b.earliest?this.parse(b.earliest,b):NaN,g=b.latest?this.parse(b.latest,b):NaN;return a=this.parse(a,b),isNaN(a)||b.dateOnly&&a%864e5!==0?(c=b.notValid||b.message||this.notValid||"must be a valid date",e.format(c,{value:arguments[0]})):(!isNaN(f)&&f>a&&(c=b.tooEarly||b.message||this.tooEarly||"must be no earlier than %{date}",c=e.format(c,{value:this.format(a,b),date:this.format(f,b)}),d.push(c)),!isNaN(g)&&a>g&&(c=b.tooLate||b.message||this.tooLate||"must be no later than %{date}",c=e.format(c,{date:this.format(g,b),value:this.format(a,b)}),d.push(c)),d.length?e.unique(d):void 0)}},{parse:null,format:null}),date:function(a,b){return b=e.extend({},b,{dateOnly:!0}),e.validators.datetime.call(e.validators.datetime,a,b)},format:function(a,b){(e.isString(b)||b instanceof RegExp)&&(b={pattern:b}),b=e.extend({},this.options,b);var c,d=b.message||this.message||"is invalid",f=b.pattern;return e.isDefined(a)?e.isString(a)?(e.isString(f)&&(f=new RegExp(b.pattern,b.flags)),c=f.exec(a),c&&c[0].length==a.length?void 0:d):d:void 0},inclusion:function(a,b){if(e.isDefined(a)&&(e.isArray(b)&&(b={within:b}),b=e.extend({},this.options,b),!e.contains(b.within,a))){var c=b.message||this.message||"^%{value} is not included in the list";return e.format(c,{value:a})}},exclusion:function(a,b){if(e.isDefined(a)&&(e.isArray(b)&&(b={within:b}),b=e.extend({},this.options,b),e.contains(b.within,a))){var c=b.message||this.message||"^%{value} is restricted";return e.format(c,{value:a})}},email:e.extend(function(a,b){b=e.extend({},this.options,b);var c=b.message||this.message||"is not a valid email";if(e.isDefined(a))return e.isString(a)&&this.PATTERN.exec(a)?void 0:c},{PATTERN:/^[a-z0-9\u007F-\uffff!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9\u007F-\uffff!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,}$/i}),equality:function(a,b,c,d,f){if(e.isDefined(a)){e.isString(b)&&(b={attribute:b}),b=e.extend({},this.options,b);var g=b.message||this.message||"is not equal to %{attribute}";if(e.isEmpty(b.attribute)||!e.isString(b.attribute))throw new Error("The attribute must be a non empty string");var h=e.getDeepObjectValue(d,b.attribute),i=b.comparator||function(a,b){return a===b},j=b.prettify||f&&f.prettify||e.prettify;return i(a,h,b,c,d)?void 0:e.format(g,{attribute:j(b.attribute)})}},url:function(a,b){if(e.isDefined(a)){b=e.extend({},this.options,b);var c=b.message||this.message||"is not a valid url",d=b.schemes||this.schemes||["http","https"],f=b.allowLocal||this.allowLocal||!1;if(!e.isString(a))return c;var g="^(?:(?:"+d.join("|")+")://)(?:\\S+(?::\\S*)?@)?(?:",h="(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))";f?h+="?":g+="(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})",g+="(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*"+h+")(?::\\d{2,5})?(?:[/?#]\\S*)?$";var i=new RegExp(g,"i");return i.exec(a)?void 0:c}}},d.formatters={detailed:function(a){return a},flat:e.flattenErrorsToArray,grouped:function(a){var b;a=e.groupErrorsByAttribute(a);for(b in a)a[b]=e.flattenErrorsToArray(a[b]);return a},constraint:function(a){var b;a=e.groupErrorsByAttribute(a);for(b in a)a[b]=a[b].map(function(a){return a.validator}).sort();return a}},d.exposeModule(d,this,a,b,c)}).call(this,"undefined"!=typeof exports?exports:null,"undefined"!=typeof module?module:null,"undefined"!=typeof define?define:null); +(function(a,b,c){"use strict";var d=function(a,b,c){c=e.extend({},e.options,c);var f=e.runValidations(a,b,c);if(f.some(function(a){return e.isPromise(a.error)}))throw new Error("Use validate.async if you want support for promises");return d.processValidationResults(f,c)},e=d;e.extend=function(a){return[].slice.call(arguments,1).forEach(function(b){for(var c in b)a[c]=b[c]}),a},e.extend(d,{version:{major:0,minor:13,patch:1,metadata:null,toString:function(){var a=e.format("%{major}.%{minor}.%{patch}",e.version);return e.isEmpty(e.version.metadata)||(a+="+"+e.version.metadata),a}},Promise:"undefined"!=typeof Promise?Promise:null,EMPTY_STRING_REGEXP:/^\s*$/,runValidations:function(a,b,c){var d,f,g,h,i,j,k,l=[];(e.isDomElement(a)||e.isJqueryElement(a))&&(a=e.collectFormValues(a));for(d in b){g=e.getDeepObjectValue(a,d),h=e.result(b[d],g,a,d,c,b);for(f in h){if(i=e.validators[f],!i)throw k=e.format("Unknown validator %{name}",{name:f}),new Error(k);j=h[f],j=e.result(j,g,a,d,c,b),j&&l.push({attribute:d,value:g,validator:f,globalOptions:c,attributes:a,options:j,error:i.call(i,g,j,d,a,c)})}}return l},processValidationResults:function(a,b){a=e.pruneEmptyErrors(a,b),a=e.expandMultipleErrors(a,b),a=e.convertErrorMessages(a,b);var c=b.format||"grouped";if("function"!=typeof e.formatters[c])throw new Error(e.format("Unknown format %{format}",b));return a=e.formatters[c](a),e.isEmpty(a)?void 0:a},async:function(a,b,c){c=e.extend({},e.async.options,c);var d=c.wrapErrors||function(a){return a};c.cleanAttributes!==!1&&(a=e.cleanAttributes(a,b));var f=e.runValidations(a,b,c);return new e.Promise(function(g,h){e.waitForResults(f).then(function(){var i=e.processValidationResults(f,c);i?h(new d(i,c,a,b)):g(a)},function(a){h(a)})})},single:function(a,b,c){return c=e.extend({},e.single.options,c,{format:"flat",fullMessages:!1}),e({single:a},{single:b},c)},waitForResults:function(a){return a.reduce(function(a,b){return e.isPromise(b.error)?a.then(function(){return b.error.then(function(a){b.error=a||null})}):a},new e.Promise(function(a){a()}))},result:function(a){var b=[].slice.call(arguments,1);return"function"==typeof a&&(a=a.apply(null,b)),a},isNumber:function(a){return"number"==typeof a&&!isNaN(a)},isFunction:function(a){return"function"==typeof a},isInteger:function(a){return e.isNumber(a)&&a%1===0},isBoolean:function(a){return"boolean"==typeof a},isObject:function(a){return a===Object(a)},isDate:function(a){return a instanceof Date},isDefined:function(a){return null!==a&&void 0!==a},isPromise:function(a){return!!a&&e.isFunction(a.then)},isJqueryElement:function(a){return a&&e.isString(a.jquery)},isDomElement:function(a){return!!a&&(!(!a.querySelectorAll||!a.querySelector)&&(!(!e.isObject(document)||a!==document)||("object"==typeof HTMLElement?a instanceof HTMLElement:a&&"object"==typeof a&&null!==a&&1===a.nodeType&&"string"==typeof a.nodeName)))},isEmpty:function(a){var b;if(!e.isDefined(a))return!0;if(e.isFunction(a))return!1;if(e.isString(a))return e.EMPTY_STRING_REGEXP.test(a);if(e.isArray(a))return 0===a.length;if(e.isDate(a))return!1;if(e.isObject(a)){for(b in a)return!1;return!0}return!1},format:e.extend(function(a,b){return e.isString(a)?a.replace(e.format.FORMAT_REGEXP,function(a,c,d){return"%"===c?"%{"+d+"}":String(b[d])}):a},{FORMAT_REGEXP:/(%?)%\{([^\}]+)\}/g}),prettify:function(a){return e.isNumber(a)?100*a%1===0?""+a:parseFloat(Math.round(100*a)/100).toFixed(2):e.isArray(a)?a.map(function(a){return e.prettify(a)}).join(", "):e.isObject(a)?e.isDefined(a.toString)?a.toString():JSON.stringify(a):(a=""+a,a.replace(/([^\s])\.([^\s])/g,"$1 $2").replace(/\\+/g,"").replace(/[_-]/g," ").replace(/([a-z])([A-Z])/g,function(a,b,c){return""+b+" "+c.toLowerCase()}).toLowerCase())},stringifyValue:function(a,b){var c=b&&b.prettify||e.prettify;return c(a)},isString:function(a){return"string"==typeof a},isArray:function(a){return"[object Array]"==={}.toString.call(a)},isHash:function(a){return e.isObject(a)&&!e.isArray(a)&&!e.isFunction(a)},contains:function(a,b){return!!e.isDefined(a)&&(e.isArray(a)?a.indexOf(b)!==-1:b in a)},unique:function(a){return e.isArray(a)?a.filter(function(a,b,c){return c.indexOf(a)==b}):a},forEachKeyInKeypath:function(a,b,c){if(e.isString(b)){var d,f="",g=!1;for(d=0;dg&&(d=b.tooLong||this.tooLong||"is too long (maximum is %{count} characters)",j.push(e.format(d,{count:g}))),j.length>0?b.message||j:void 0):b.message||this.notValid||"has an incorrect length"}},numericality:function(a,b,c,d,f){if(e.isDefined(a)){b=e.extend({},this.options,b);var g,h,i=[],j={greaterThan:function(a,b){return a>b},greaterThanOrEqualTo:function(a,b){return a>=b},equalTo:function(a,b){return a===b},lessThan:function(a,b){return ag&&(c=b.tooLate||b.message||this.tooLate||"must be no later than %{date}",c=e.format(c,{date:this.format(g,b),value:this.format(a,b)}),d.push(c)),d.length?e.unique(d):void 0)}},{parse:null,format:null}),date:function(a,b){return b=e.extend({},b,{dateOnly:!0}),e.validators.datetime.call(e.validators.datetime,a,b)},format:function(a,b){(e.isString(b)||b instanceof RegExp)&&(b={pattern:b}),b=e.extend({},this.options,b);var c,d=b.message||this.message||"is invalid",f=b.pattern;if(e.isDefined(a))return e.isString(a)?(e.isString(f)&&(f=new RegExp(b.pattern,b.flags)),c=f.exec(a),c&&c[0].length==a.length?void 0:d):d},inclusion:function(a,b){if(e.isDefined(a)&&(e.isArray(b)&&(b={within:b}),b=e.extend({},this.options,b),!e.contains(b.within,a))){var c=b.message||this.message||"^%{value} is not included in the list";return e.format(c,{value:a})}},exclusion:function(a,b){if(e.isDefined(a)&&(e.isArray(b)&&(b={within:b}),b=e.extend({},this.options,b),e.contains(b.within,a))){var c=b.message||this.message||"^%{value} is restricted";return e.isString(b.within[a])&&(a=b.within[a]),e.format(c,{value:a})}},email:e.extend(function(a,b){b=e.extend({},this.options,b);var c=b.message||this.message||"is not a valid email";if(e.isDefined(a))return e.isString(a)&&this.PATTERN.exec(a)?void 0:c},{PATTERN:/^(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i}),equality:function(a,b,c,d,f){if(e.isDefined(a)){e.isString(b)&&(b={attribute:b}),b=e.extend({},this.options,b);var g=b.message||this.message||"is not equal to %{attribute}";if(e.isEmpty(b.attribute)||!e.isString(b.attribute))throw new Error("The attribute must be a non empty string");var h=e.getDeepObjectValue(d,b.attribute),i=b.comparator||function(a,b){return a===b},j=b.prettify||f&&f.prettify||e.prettify;return i(a,h,b,c,d)?void 0:e.format(g,{attribute:j(b.attribute)})}},url:function(a,b){if(e.isDefined(a)){b=e.extend({},this.options,b);var c=b.message||this.message||"is not a valid url",d=b.schemes||this.schemes||["http","https"],f=b.allowLocal||this.allowLocal||!1,g=b.allowDataUrl||this.allowDataUrl||!1;if(!e.isString(a))return c;var h="^(?:(?:"+d.join("|")+")://)(?:\\S+(?::\\S*)?@)?(?:",i="(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))";if(f?i+="?":h+="(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})",h+="(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*"+i+")(?::\\d{2,5})?(?:[/?#]\\S*)?$",g){var j="\\w+\\/[-+.\\w]+(?:;[\\w=]+)*",k="[A-Za-z0-9-_.!~\\*'();\\/?:@&=+$,%]*",l="data:(?:"+j+")?(?:;base64)?,"+k;h="(?:"+h+")|(?:^"+l+"$)"}var m=new RegExp(h,"i");return m.exec(a)?void 0:c}},type:e.extend(function(a,b,c,d,f){if(e.isString(b)&&(b={type:b}),e.isDefined(a)){var g=e.extend({},this.options,b),h=g.type;if(!e.isDefined(h))throw new Error("No type was specified");var i;if(i=e.isFunction(h)?h:this.types[h],!e.isFunction(i))throw new Error("validate.validators.type.types."+h+" must be a function.");if(!i(a,g,c,d,f)){var j=b.message||this.messages[h]||this.message||g.message||(e.isFunction(h)?"must be of the correct type":"must be of type %{type}");return e.isFunction(j)&&(j=j(a,b,c,d,f)),e.format(j,{attribute:e.prettify(c),type:h})}}},{types:{object:function(a){return e.isObject(a)&&!e.isArray(a)},array:e.isArray,integer:e.isInteger,number:e.isNumber,string:e.isString,date:e.isDate,"boolean":e.isBoolean},messages:{}})},d.formatters={detailed:function(a){return a},flat:e.flattenErrorsToArray,grouped:function(a){var b;a=e.groupErrorsByAttribute(a);for(b in a)a[b]=e.flattenErrorsToArray(a[b]);return a},constraint:function(a){var b;a=e.groupErrorsByAttribute(a);for(b in a)a[b]=a[b].map(function(a){return a.validator}).sort();return a}},d.exposeModule(d,this,a,b,c)}).call(this,"undefined"!=typeof exports?exports:null,"undefined"!=typeof module?module:null,"undefined"!=typeof define?define:null); //# sourceMappingURL=validate.min.map \ No newline at end of file diff --git a/validate.min.map b/validate.min.map index 3164378..e89b4af 100644 --- a/validate.min.map +++ b/validate.min.map @@ -1 +1 @@ -{"version":3,"sources":["validate.js"],"names":["exports","module","define","validate","attributes","constraints","options","v","extend","results","runValidations","some","r","isPromise","error","Error","processValidationResults","obj","slice","call","arguments","forEach","source","attr","version","major","minor","patch","metadata","toString","format","isEmpty","Promise","EMPTY_STRING_REGEXP","validatorName","value","validators","validator","validatorOptions","isDomElement","isJqueryElement","collectFormValues","getDeepObjectValue","result","name","push","attribute","globalOptions","errors","pruneEmptyErrors","expandMultipleErrors","convertErrorMessages","formatters","undefined","async","WrapErrors","wrapErrors","cleanAttributes","resolve","reject","waitForResults","then","err","single","fullMessages","reduce","memo","args","apply","isNumber","isNaN","isFunction","isInteger","isBoolean","isObject","Object","isDate","Date","isDefined","p","o","isString","jquery","querySelectorAll","querySelector","document","HTMLElement","nodeType","nodeName","test","isArray","length","str","vals","replace","FORMAT_REGEXP","m0","m1","m2","String","prettify","parseFloat","Math","round","toFixed","map","s","join","toLowerCase","stringifyValue","isHash","contains","indexOf","unique","array","filter","el","index","forEachKeyInKeypath","object","keypath","callback","i","key","escape","form","j","input","inputs","option","values","item","getAttribute","sanitizeFormValue","type","checked","multiple","selected","_val","selectedIndex","trim","nullify","capitalize","toUpperCase","ret","msg","errorInfo","groupErrorsByAttribute","list","flattenErrorsToArray","self","whitelist","whitelistCreator","last","buildObjectWhitelist","ow","cleanRecursive","w","exposeModule","root","amd","warn","console","presence","this","allowEmpty","message","is","maximum","minimum","tokenizer","val","wrongLength","count","tooShort","tooLong","notValid","numericality","checks","greaterThan","c","greaterThanOrEqualTo","equalTo","lessThan","lessThanOrEqualTo","divisibleBy","strict","pattern","onlyInteger","RegExp","noStrings","notInteger","odd","notOdd","even","notEven","datetime","parse","earliest","NaN","latest","dateOnly","tooEarly","date","tooLate","match","flags","exec","inclusion","within","exclusion","email","PATTERN","equality","otherValue","comparator","v1","v2","url","schemes","allowLocal","regex","tld","detailed","flat","grouped","constraint","sort"],"mappings":"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","file":"validate.min.js"} \ No newline at end of file +{"version":3,"sources":["validate.js"],"names":["exports","module","define","validate","attributes","constraints","options","v","extend","results","runValidations","some","r","isPromise","error","Error","processValidationResults","obj","slice","call","arguments","forEach","source","attr","version","major","minor","patch","metadata","toString","format","isEmpty","Promise","EMPTY_STRING_REGEXP","validatorName","value","validators","validator","validatorOptions","isDomElement","isJqueryElement","collectFormValues","getDeepObjectValue","result","name","push","attribute","globalOptions","errors","pruneEmptyErrors","expandMultipleErrors","convertErrorMessages","formatters","undefined","async","WrapErrors","wrapErrors","cleanAttributes","resolve","reject","waitForResults","then","err","single","fullMessages","reduce","memo","args","apply","isNumber","isNaN","isFunction","isInteger","isBoolean","isObject","Object","isDate","Date","isDefined","p","o","isString","jquery","querySelectorAll","querySelector","document","HTMLElement","nodeType","nodeName","test","isArray","length","str","vals","replace","FORMAT_REGEXP","m0","m1","m2","String","prettify","parseFloat","Math","round","toFixed","map","s","join","JSON","stringify","toLowerCase","stringifyValue","isHash","contains","indexOf","unique","array","filter","el","index","forEachKeyInKeypath","object","keypath","callback","i","key","escape","form","j","input","inputs","option","values","item","getAttribute","sanitizeFormValue","type","checked","multiple","selected","_val","selectedIndex","trim","nullify","capitalize","toUpperCase","ret","msg","errorInfo","groupErrorsByAttribute","list","flattenErrorsToArray","self","whitelist","whitelistCreator","last","buildObjectWhitelist","ow","cleanRecursive","w","exposeModule","root","amd","warn","console","presence","this","allowEmpty","message","is","maximum","minimum","tokenizer","val","wrongLength","count","tooShort","tooLong","notValid","numericality","checks","greaterThan","c","greaterThanOrEqualTo","equalTo","lessThan","lessThanOrEqualTo","divisibleBy","strict","pattern","onlyInteger","RegExp","noStrings","notInteger","odd","notOdd","even","notEven","datetime","parse","earliest","NaN","latest","dateOnly","tooEarly","date","tooLate","match","flags","exec","inclusion","within","exclusion","email","PATTERN","equality","otherValue","comparator","v1","v2","url","schemes","allowLocal","allowDataUrl","regex","tld","mediaType","urlchar","dataurl","originalOptions","check","types","messages","integer","number","string","boolean","detailed","flat","grouped","constraint","sort"],"mappings":"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","file":"validate.min.js"} \ No newline at end of file