Socket
Socket
Sign inDemoInstall

vee-validate

Package Overview
Dependencies
Maintainers
1
Versions
339
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vee-validate - npm Package Compare versions

Comparing version 2.0.0-beta.12 to 2.0.0-beta.13

dist/locale/el.js

2

bower.json
{
"name": "vee-validate",
"version": "2.0.0-beta.12",
"version": "2.0.0-beta.13",
"homepage": "http://vee-validate.logaretm.com/",

@@ -5,0 +5,0 @@ "authors": [

@@ -8,3 +8,3 @@ (function (global, factory) {

var email$1 = (function (value) {
return (/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/.test(value)
return (/^(([^<>()[\]\\.,;:#\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,6}))$/.test(value)
);

@@ -28,3 +28,3 @@ });

return !!String(value).length;
return !!String(value).trim().length;
});

@@ -256,9 +256,13 @@

var regex$1 = (function (value, _ref) {
var _ref2 = toArray(_ref);
var _ref2 = toArray(_ref);
var regex = _ref2[0];
var regex = _ref2[0];
var flags = _ref2.slice(1);
var flags = _ref2.slice(1);
return new RegExp(regex, flags).test(String(value));
if (regex instanceof RegExp) {
return regex.test(value);
}
return new RegExp(regex, flags).test(String(value));
});

@@ -805,6 +809,2 @@

if (target === undefined || target === null) {
throw new TypeError('Cannot convert undefined or null to object');
}
var output = Object(target);

@@ -1107,2 +1107,102 @@

var FieldBag = function () {
function FieldBag() {
classCallCheck(this, FieldBag);
// Needed to bypass render errors if the fields aren't populated yet.
this.fields = new Proxy({}, {
get: function get(target, property) {
if (!(property in target) && typeof property === 'string') {
// eslint-disable-next-line
target[property] = {};
}
return target[property];
}
});
}
/**
* Initializes and adds a new field to the bag.
*/
createClass(FieldBag, [{
key: '_add',
value: function _add(name) {
this._setFlags(name, { dirty: false, valid: false }, true);
}
/**
* Remooves a field from the bag.
*/
}, {
key: '_remove',
value: function _remove(name) {
delete this.fields[name];
}
/**
* Sets the flags for a specified field.
*/
}, {
key: '_setFlags',
value: function _setFlags(name, flags) {
var _this = this;
var initial = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2];
Object.keys(flags).forEach(function (flag) {
return _this._setFlag(name, flag, flags[flag], initial);
});
}
/**
* Sets a flag for a specified field.
*/
}, {
key: '_setFlag',
value: function _setFlag(name, flag, value) {
var initial = arguments.length <= 3 || arguments[3] === undefined ? false : arguments[3];
var method = 'set' + flag.charAt(0).toUpperCase() + flag.slice(1);
if (typeof this[method] !== 'function') {
return;
}
this[method](name, value, initial);
}
/**
* Sets the dirty flag along with dependant flags.
*/
}, {
key: 'setDirty',
value: function setDirty(name, value) {
var initial = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2];
this.fields[name].dirty = value;
this.fields[name].clean = initial || !value;
this.fields[name].passed = this.fields[name].valid && value;
this.fields[name].failed = !this.fields[name].valid && value;
}
/**
* Sets the valid flag along with dependant flags.
*/
}, {
key: 'setValid',
value: function setValid(name, value) {
this.fields[name].valid = value;
this.fields[name].passed = this.fields[name].dirty && value;
this.fields[name].failed = this.fields[name].dirty && !value;
}
}]);
return FieldBag;
}();
var EVENT_NAME = 'veeValidate';

@@ -1126,2 +1226,3 @@ var DEFAULT_LOCALE = 'en';

this.$fields = {};
this.fieldBag = new FieldBag();
this._createFields(validations);

@@ -1239,2 +1340,3 @@ this.errorBag = new ErrorBag();

delete this.$fields[name];
this.fieldBag._remove(name);
}

@@ -1343,8 +1445,13 @@

return Promise.all(promises).then(function (values) {
return values.every(function (t) {
var valid = values.every(function (t) {
return t;
}) && test;
_this2.fieldBag._setFlags(name, { valid: valid, dirty: true });
return valid;
});
}
this.fieldBag._setFlags(name, { valid: test, dirty: true });
return test;

@@ -1369,4 +1476,4 @@ }

Object.keys(validations).forEach(function (property) {
_this3._createField(property, validations[property]);
Object.keys(validations).forEach(function (field) {
_this3._createField(field, validations[field]);
});

@@ -1390,4 +1497,11 @@ }

this.fieldBag._add(name);
this.$fields[name].validations = [];
if (Array.isArray(checks)) {
this.$fields[name].validations = checks;
return;
}
checks.split('|').forEach(function (rule) {

@@ -1734,2 +1848,8 @@ var normalizedRule = _this4._normalizeRule(rule, _this4.$fields[name].validations);

},
computed: defineProperty({}, options.fieldsBagName, {
get: function get() {
return this.$validator.fieldBag.fields;
}
}),
mounted: function mounted() {

@@ -1817,2 +1937,22 @@ this.$emit('validatorReady');

/**
* Validates checkboxes, triggered by change event.
*/
}, {
key: '_checkboxListener',
value: function _checkboxListener() {
var _this = this;
var checkedBoxes = document.querySelectorAll('input[name="' + this.el.name + '"]:checked');
if (!checkedBoxes || !checkedBoxes.length) {
this.vm.$validator.validate(this.fieldName, null, getScope(this.el));
return;
}
[].concat(toConsumableArray(checkedBoxes)).forEach(function (box) {
_this.vm.$validator.validate(_this.fieldName, box.value, getScope(_this.el));
});
}
/**
* Returns a scoped callback, only runs if the el scope is the same as the recieved scope

@@ -1825,6 +1965,6 @@ * From the event.

value: function _getScopedListener(callback) {
var _this = this;
var _this2 = this;
return function (scope) {
if (!scope || scope === getScope(_this.el) || scope instanceof Event) {
if (!scope || scope === getScope(_this2.el) || scope instanceof Event) {
callback();

@@ -1842,5 +1982,5 @@ }

value: function _attachValidatorEvent() {
var _this2 = this;
var _this3 = this;
var listener = this._getScopedListener(this.el.type === 'radio' ? this._radioListener.bind(this) : this._inputListener.bind(this));
var listener = this._getScopedListener(this._getSuitableListener().listener.bind(this));

@@ -1862,3 +2002,3 @@ this.vm.$on(DEFAULT_EVENT_NAME, listener);

target.addEventListener('input', listener);
_this2.callbacks.push({ event: 'input', listener: listener, el: target });
_this3.callbacks.push({ event: 'input', listener: listener, el: target });
});

@@ -1889,2 +2029,9 @@ }

if (this.el.type === 'checkbox') {
return {
name: 'change',
listener: this._checkboxListener
};
}
return {

@@ -1903,3 +2050,3 @@ name: 'input',

value: function _attachFieldListeners() {
var _this3 = this;
var _this4 = this;

@@ -1909,7 +2056,7 @@ var handler = this._getSuitableListener();

if (this.el.type === 'radio') {
if (~['radio', 'checkbox'].indexOf(this.el.type)) {
this.vm.$once('validatorReady', function () {
[].concat(toConsumableArray(document.querySelectorAll('input[name="' + _this3.el.name + '"]'))).forEach(function (input) {
[].concat(toConsumableArray(document.querySelectorAll('input[name="' + _this4.el.name + '"]'))).forEach(function (input) {
input.addEventListener(handler.name, listener);
_this3.callbacks.push({ event: handler.name, callback: listener, el: input });
_this4.callbacks.push({ event: handler.name, callback: listener, el: input });
});

@@ -2020,2 +2167,4 @@ });

var strict = _ref$strict === undefined ? true : _ref$strict;
var _ref$fieldsBagName = _ref.fieldsBagName;
var fieldsBagName = _ref$fieldsBagName === undefined ? 'fields' : _ref$fieldsBagName;

@@ -2033,3 +2182,4 @@ if (dictionary) {

dictionary: dictionary,
errorBagName: errorBagName
errorBagName: errorBagName,
fieldsBagName: fieldsBagName
};

@@ -2036,0 +2186,0 @@

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.VeeValidate=t()}(this,function(){"use strict";var e=function(e){return/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/.test(e)},t=function(e,t){return!!t.filter(function(t){return t==e}).length},n=function(e){return Array.isArray(e)?!!e.length:void 0!==e&&null!==e&&!!String(e).length},r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},i=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},s=function(){function e(e,t){var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(u){i=!0,a=u}finally{try{!r&&s["return"]&&s["return"]()}finally{if(i)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),u=function(e){return Array.isArray(e)?e:Array.from(e)},l=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)},c=function(e,t){var n=s(t,1),r=n[0];return void 0!==e&&null!==e&&String(e).length>=r},f=function(e,t){var n=s(t,1),r=n[0];return void 0===e||null===e?r>=0:String(e).length<=r},h=function(e,t){return!t.filter(function(t){return t==e}).length},d=function(e){return!Array.isArray(e)&&/^[a-zA-Z]*$/.test(e)},v=function(e){return!Array.isArray(e)&&/^[a-zA-Z0-9]*$/.test(e)},m=function(e){return!Array.isArray(e)&&/^[a-zA-Z0-9_-]*$/.test(e)},y=function(e){return!Array.isArray(e)&&/^[0-9]*$/.test(e)},g=function(e,t){var n=u(t),r=n[0],i=n.slice(1);return new RegExp(r,i).test(String(e))},p=function(e){return/^(?:(?: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]?)$/.test(e)},b=function(e,t){for(var n=new RegExp(".("+t.join("|")+")$","i"),r=0;r<e.length;r++)if(!n.test(e[r].name))return!1;return!0},k=function(e,t){for(var n=new RegExp(t.join("|").replace("*",".+")+"$","i"),r=0;r<e.length;r++)if(!n.test(e[r].type))return!1;return!0},_=function(e,t){var n=s(t,1),r=n[0];if(isNaN(r))return!1;for(var i=1024*Number(r),a=0;a<e.length;a++)if(e[a].size>i)return!1;return!0},$=function(e,t){var n=s(t,1),r=n[0],i=String(e);return/^[0-9]*$/.test(i)&&i.length===Number(r)},w=function(e){for(var t=0;t<e.length;t++)if(!/\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(e[t].name))return!1;return!0},T=function(e,t,n){var r=window.URL||window.webkitURL;return new Promise(function(i){var a=new Image;a.onerror=function(){return i({valid:!1})},a.onload=function(){return i({valid:a.width===Number(t)&&a.height===Number(n)})},a.src=r.createObjectURL(e)})},x=function(e,t){for(var n=s(t,2),r=n[0],i=n[1],a=[],o=0;o<e.length;o++){if(!/\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(e[o].name))return!1;a.push(e[o])}return Promise.all(a.map(function(e){return T(e,r,i)}))},E=function(e,t){var n=s(t,2),r=n[0],i=n[1];return Number(r)<=e&&Number(i)>=e},A=function(e,t){var n=s(t,1),r=n[0],i=document.querySelector("input[name='"+r+"']");return!(!i||String(e)!==i.value)},L=function(e,t){var n=/^https?:\/\/([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.\(\)%-]*)*\/?$/.test(e),r=t&&t[0];return r&&n?new RegExp("^https?://(([da-z.-]+).)*("+t[0].replace(".","\\$&")+")").test(e):n},j=function(e){var t=arguments.length<=1||void 0===arguments[1]?["*"]:arguments[1],n=s(t,1),r=n[0];if(Array.isArray(e))return!1;if(null===e||void 0===e||""===e)return!0;var i="*"===r?"*":"{0,"+r+"}",a=new RegExp("^[0-9]*.?[0-9]"+i+"$");return!!a.test(e)&&!Number.isNaN(parseFloat(e))},S={email:e,min:c,max:f,required:n,"in":t,not_in:h,alpha:d,alpha_num:v,alpha_dash:m,numeric:y,regex:g,ip:p,ext:b,mimes:k,size:_,digits:$,image:w,dimensions:x,between:E,confirmed:A,url:L,decimal:j},M=function(){function e(){i(this,e),this.errors=[]}return a(e,[{key:"add",value:function(e,t,n){var r={field:e,msg:t};n&&(r.scope=n),this.errors.push(r)}},{key:"all",value:function(e){return e?this.errors.filter(function(t){return t.scope===e}).map(function(e){return e.msg}):this.errors.map(function(e){return e.msg})}},{key:"any",value:function(e){return e?!!this.errors.filter(function(t){return t.scope===e}).length:!!this.errors.length}},{key:"clear",value:function(e){return e?void(this.errors=this.errors.filter(function(t){return t.scope!==e})):void(this.errors=[])}},{key:"collect",value:function(e,t){var n=this;if(!e){var i=function(){var e={};return n.errors.forEach(function(t){e[t.field]||(e[t.field]=[]),e[t.field].push(t.msg)}),{v:e}}();if("object"===("undefined"==typeof i?"undefined":r(i)))return i.v}return t?this.errors.filter(function(n){return n.field===e&&n.scope===t}).map(function(e){return e.msg}):this.errors.filter(function(t){return t.field===e}).map(function(e){return e.msg})}},{key:"count",value:function(){return this.errors.length}},{key:"first",value:function(e,t){for(var n=0;n<this.errors.length;n++)if(this.errors[n].field===e){if(!t)return this.errors[n].msg;if(this.errors[n].scope===t)return this.errors[n].msg}return null}},{key:"has",value:function(e,t){for(var n=0;n<this.errors.length;n++)if(this.errors[n].field===e){if(!t)return!0;if(this.errors[n].scope===t)return!0}return!1}},{key:"remove",value:function(e,t){return t?void(this.errors=this.errors.filter(function(n){return n.field!==e||n.scope!==t})):void(this.errors=this.errors.filter(function(t){return t.field!==e}))}}]),e}(),N=function(){function e(t){i(this,e),this.msg=t}return a(e,[{key:"toString",value:function(){return this.msg}}]),e}(),O=function(){function e(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];i(this,e),this.dictionary={},this.merge(t)}return a(e,[{key:"hasLocale",value:function(e){return!!this.dictionary[e]}},{key:"getMessage",value:function(e,t){var n=arguments.length<=2||void 0===arguments[2]?"":arguments[2];return this.hasMessage(e,t)?this.dictionary[e].messages[t]:n}},{key:"getAttribute",value:function(e,t){var n=arguments.length<=2||void 0===arguments[2]?"":arguments[2];return this.hasAttribute(e,t)?this.dictionary[e].attributes[t]:n}},{key:"hasMessage",value:function(e,t){return!!(this.hasLocale(e)&&this.dictionary[e].messages&&this.dictionary[e].messages[t])}},{key:"hasAttribute",value:function(e,t){return!!(this.hasLocale(e)&&this.dictionary[e].attributes&&this.dictionary[e].attributes[t])}},{key:"merge",value:function(e){this._merge(this.dictionary,e)}},{key:"setMessage",value:function(e,t,n){this.hasLocale(e)||(this.dictionary[e]={messages:{},attributes:{}}),this.dictionary[e].messages[t]=n}},{key:"setAttribute",value:function(e,t,n){this.hasLocale(e)||(this.dictionary[e]={messages:{},attributes:{}}),this.dictionary[e].attributes[t]=n}},{key:"_isObject",value:function(e){return e&&"object"===("undefined"==typeof e?"undefined":r(e))&&!Array.isArray(e)&&null!==e}},{key:"_merge",value:function(e,t){var n=this;if(!this._isObject(e)||!this._isObject(t))return e;var r=Object.assign||this._assign;return Object.keys(t).forEach(function(i){return n._isObject(t[i])?(e[i]||r(e,o({},i,{})),void n._merge(e[i],t[i])):void r(e,o({},i,t[i]))}),e}},{key:"_assign",value:function(e){var t=arguments;if(void 0===e||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var n=Object(e),r=function(e){var r=t[e];void 0!==r&&null!==r&&Object.keys(r).forEach(function(e){({}).hasOwnProperty.call(r,e)&&(n[e]=r[e])})},i=1;i<arguments.length;i++)r(i);return n}}]),e}(),V={alpha_dash:function(e){return"The "+e+" may contain alpha-numeric characters as well as dashes and underscores."},alpha_num:function(e){return"The "+e+" may only contain alpha-numeric characters."},alpha:function(e){return"The "+e+" may only contain alphabetic characters."},between:function(e,t){var n=s(t,2),r=n[0],i=n[1];return"The "+e+" must be between "+r+" and "+i+"."},confirmed:function(e,t){var n=s(t,1),r=n[0];return"The "+e+" does not match the "+r+"."},decimal:function(e){var t=arguments.length<=1||void 0===arguments[1]?["*"]:arguments[1],n=s(t,1),r=n[0];return"The "+e+" must be numeric and may contain "+("*"===r?"":r)+" decimal points."},digits:function(e,t){var n=s(t,1),r=n[0];return"The "+e+" must be numeric and exactly contain "+r+" digits."},dimensions:function(e,t){var n=s(t,2),r=n[0],i=n[1];return"The "+e+" must be "+r+" pixels by "+i+" pixels."},email:function(e){return"The "+e+" must be a valid email."},ext:function(e){return"The "+e+" must be a valid file."},image:function(e){return"The "+e+" must be an image."},"in":function(e){return"The "+e+" must be a valid value."},ip:function(e){return"The "+e+" must be a valid ip address."},max:function(e,t){var n=s(t,1),r=n[0];return"The "+e+" may not be greater than "+r+" characters."},mimes:function(e){return"The "+e+" must have a valid file type."},min:function(e,t){var n=s(t,1),r=n[0];return"The "+e+" must be at least "+r+" characters."},not_in:function(e){return"The "+e+" must be a valid value."},numeric:function(e){return"The "+e+" may only contain numeric characters."},regex:function(e){return"The "+e+" format is invalid."},required:function(e){return"The "+e+" is required."},size:function(e,t){var n=s(t,1),r=n[0];return"The "+e+" must be less than "+r+" KB."},url:function(e){return"The "+e+" is not a valid URL."}},B=function(e){return e.dataset.scope||e.form&&e.form.dataset.scope},D=function(e){var t=arguments.length<=1||void 0===arguments[1]?100:arguments[1],n=!(arguments.length<=2||void 0===arguments[2])&&arguments[2];if(!t)return e;var r=void 0;return function(i){function a(){n||e.apply(c,s),r=null}var o=u(i),s=o,c=this;r?clearTimeout(r):n&&e.apply.apply(e,[c].concat(l(s))),r=setTimeout(a,t||100)}},z=function(e){console&&console.warn("vee-validate: "+e)},R=function(e){return function(t,n){var r=s(n,2),i=r[0],a=r[1],o=e(t,a,!0),u=document.querySelector("input[name='"+i+"']");if(!o.isValid()||!u)return!1;var l=e(u.value,a,!0);return!!l.isValid()&&o.isAfter(l)}},q=function(e){return function(t,n){var r=s(n,2),i=r[0],a=r[1],o=e(t,a,!0),u=document.querySelector("input[name='"+i+"']");if(!o.isValid()||!u)return!1;var l=e(u.value,a,!0);return!!l.isValid()&&o.isBefore(l)}},F=function(e){return function(t,n){var r=s(n,1),i=r[0];return e(t,i,!0).isValid()}},P=function(e){return function(t,n){var r=s(n,3),i=r[0],a=r[1],o=r[2],u=e(i,o,!0),l=e(a,o,!0),c=e(t,o,!0);return!!(u.isValid()&&l.isValid()&&c.isValid())&&c.isBetween(u,l)}},Z={after:function(e,t){var n=s(t,1),r=n[0];return"The "+e+" must be after "+r+"."},before:function(e,t){var n=s(t,1),r=n[0];return"The "+e+" must be before "+r+"."},date_between:function(e,t){var n=s(t,2),r=n[0],i=n[1];return"The "+e+" must be between "+r+" and "+i+"."},date_format:function(e,t){var n=s(t,1),r=n[0];return"The "+e+" must be in the format "+r+"."}},U={make:function(e){return{date_format:F(e),after:R(e),before:q(e),date_between:P(e)}},messages:Z,installed:!1},C="veeValidate",I="en",Y=!0,K=new O({en:{messages:V,attributes:{}}}),G=function(){function e(t,n){i(this,e),this.locale=I,this.strictMode=Y,this.$fields={},this._createFields(t),this.errorBag=new M,this.$vm=n,"function"==typeof moment&&this.installDateTimeValidators(moment)}return a(e,[{key:"installDateTimeValidators",value:function(t){e.installDateTimeValidators(t)}},{key:"setStrictMode",value:function(){var e=arguments.length<=0||void 0===arguments[0]||arguments[0];this.strictMode=e}},{key:"setLocale",value:function(e){K.hasLocale(e)||z("You are setting the validator locale to a locale that is not defined in the dicitionary. English messages may still be generated."),this.locale=e}},{key:"attach",value:function(e,t){var n=arguments.length<=2||void 0===arguments[2]?null:arguments[2];this.errorBag.remove(e),this._createField(e,t),n&&(this.$fields[e].name=n)}},{key:"updateDictionary",value:function(t){e.updateDictionary(t)}},{key:"detach",value:function(e){delete this.$fields[e]}},{key:"extend",value:function(t,n){e.extend(t,n)}},{key:"validateAll",value:function(e){var t=this;if(this.$vm&&(!e||"string"==typeof e))return this.errorBag.clear(e),void this.$vm.$emit(C,e);var n=!0,r=[];return this.errorBag.clear(),Object.keys(e).forEach(function(i){var a=t.validate(i,e[i]);return"function"==typeof a.then?void r.push(a):void(n=n&&a)}),r.length?Promise.all(r).then(function(e){return e.every(function(e){return e})&&n}):n}},{key:"validate",value:function(e,t,n){var r=this;if(!this.$fields[e])return!this.strictMode||(z('Trying to validate a non-existant field: "'+e+'". Use "attach()" first.'),!1);if(this.errorBag.remove(e,n),!this.$fields[e].required&&~[null,void 0,""].indexOf(t))return!0;var i=!0,a=[];return this.$fields[e].validations.forEach(function(o){var s=r._test(e,t,o,n);return"function"==typeof s.then?void a.push(s):void(i=i&&s)}),a.length?Promise.all(a).then(function(e){return e.every(function(e){return e})&&i}):i}},{key:"_createFields",value:function(e){var t=this;e&&Object.keys(e).forEach(function(n){t._createField(n,e[n])})}},{key:"_createField",value:function(e,t){var n=this;this.$fields[e]||(this.$fields[e]={}),this.$fields[e].validations=[],t.split("|").forEach(function(t){var r=n._normalizeRule(t,n.$fields[e].validations);"required"===r.name&&(n.$fields[e].required=!0),n.$fields[e].validations.push(r)})}},{key:"_normalizeRule",value:function(e,t){var n=[],r=e.split(":")[0];if(~e.indexOf(":")&&(n=e.split(":")[1].split(",")),U.installed&&~["after","before","date_between"].indexOf(r)){var i=t.filter(function(e){return"date_format"===e.name})[0];i&&n.push(i.params[0])}return{name:r,params:n}}},{key:"_formatErrorMessage",value:function(e,t){return K.hasLocale(this.locale)&&"function"==typeof K.getMessage(this.locale,t.name)?K.getMessage(this.locale,t.name)(e,t.params):K.getMessage("en",t.name)(e,t.params)}},{key:"_getFieldDisplayName",value:function(e){return this.$fields[e].name||K.getAttribute(this.locale,e,e)}},{key:"_test",value:function(e,t,n,r){var i=this,a=S[n.name],o=a(t,n.params),s=this._getFieldDisplayName(e);return"function"==typeof o.then?o.then(function(t){var a=Array.isArray(t)?t.every(function(e){return e.valid}):t.valid;return a||i.errorBag.add(e,i._formatErrorMessage(s,n),r),a}):(o||this.errorBag.add(e,this._formatErrorMessage(s,n),r),o)}},{key:"getErrors",value:function(){return this.errorBag}}],[{key:"setDefaultLocale",value:function(){var e=arguments.length<=0||void 0===arguments[0]?"en":arguments[0];K.hasLocale(e)||z("You are setting the validator locale to a locale that is not defined in the dicitionary. English messages may still be generated."),I=e}},{key:"setStrictMode",value:function(){var e=arguments.length<=0||void 0===arguments[0]||arguments[0];Y=e}},{key:"installDateTimeValidators",value:function(t){if("function"!=typeof t)return z("To use the date-time validators you must provide moment reference."),!1;if(U.installed)return!0;var n=U.make(t);return Object.keys(n).forEach(function(t){e.extend(t,n[t])}),e.updateDictionary({en:{messages:U.messages}}),U.installed=!0,!0}},{key:"updateDictionary",value:function(e){K.merge(e)}},{key:"create",value:function(t,n){return new e(t,n)}},{key:"extend",value:function(t,n){e._guardExtend(t,n),e._merge(t,n)}},{key:"_merge",value:function(e,t){return"function"==typeof t?(S[e]=t,void K.setMessage("en",e,function(e){return"The "+e+" value is not valid."})):(S[e]=t.validate,t.getMessage&&"function"==typeof t.getMessage&&K.setMessage("en",e,t.getMessage),void(t.messages&&K.merge(Object.keys(t.messages).reduce(function(n,r){var i=n;return i[r]={messages:o({},e,t.messages[r])},i},{}))))}},{key:"_guardExtend",value:function(e,t){if(S[e])throw new N("Extension Error: There is an existing validator with the same name '"+e+"'.");if("function"!=typeof t){if("function"!=typeof t.validate)throw new N("Extension Error: The validator '"+e+"' must be a function or have a 'validate' method.");if("function"!=typeof t.getMessage&&"object"!==r(t.messages))throw new N("Extension Error: The validator '"+e+"' must have a 'getMessage' method or have a 'messages' object.")}}}]),e}(),H=[],J=function(e){for(var t=0;t<H.length;t++)if(H[t].$vm===e)return H[t].$validator},Q=function(e){var t=J(e);return t||(t=G.create(void 0,e),H.push({$vm:e,$validator:t})),t},W=function(e){for(var t=0;t<H.length;t++)if(H[t].$vm===e)return H.splice(t,1),!0;return!1},X=function(e){return{data:function(){return o({},e.errorBagName,this.$validator.errorBag)},mounted:function(){this.$emit("validatorReady")},destroyed:function(){W(this)}}},ee="veeValidate",te=function(){function e(t,n,r,a){i(this,e),this.callbacks=[],this.el=t,this.binding=n,this.vm=r,this.options=a,this.fieldName=n.expression||t.name}return a(e,[{key:"_hasFieldDependency",value:function(e){var t=e.split("|").filter(function(e){return!!e.match(/confirmed|after|before/)});return!!t.length&&t[0].split(":")[1]}},{key:"_inputListener",value:function(){this.vm.$validator.validate(this.fieldName,this.el.value,B(this.el))}},{key:"_fileListener",value:function(){var e=this.vm.$validator.validate(this.fieldName,this.el.files,B(this.el));!e&&this.binding.modifiers.reject&&(el.value="")}},{key:"_radioListener",value:function(){var e=document.querySelector('input[name="'+this.el.name+'"]:checked');return e?void this.vm.$validator.validate(this.fieldName,e.value,B(this.el)):void this.vm.$validator.validate(this.fieldName,null,B(this.el))}},{key:"_getScopedListener",value:function(e){var t=this;return function(n){(!n||n===B(t.el)||n instanceof Event)&&e()}}},{key:"_attachValidatorEvent",value:function(){var e=this,t=this._getScopedListener("radio"===this.el.type?this._radioListener.bind(this):this._inputListener.bind(this));this.vm.$on(ee,t),this.callbacks.push({event:ee,listener:t});var n=this._hasFieldDependency(this.el.dataset.rules);n&&this.vm.$once("validatorReady",function(){var r=document.querySelector("input[name='"+n+"']");return r?(r.addEventListener("input",t),void e.callbacks.push({event:"input",listener:t,el:r})):void z("Cannot find target field, no additional listeners were attached.")})}},{key:"_getSuitableListener",value:function(){return"file"===this.el.type?{name:"change",listener:this._fileListener}:"radio"===this.el.type?{name:"change",listener:this._radioListener}:{name:"input",listener:this._inputListener}}},{key:"_attachFieldListeners",value:function(){var e=this,t=this._getSuitableListener(),n=D(t.listener.bind(this),this.el.dataset.delay||this.options.delay);return"radio"===this.el.type?void this.vm.$once("validatorReady",function(){[].concat(l(document.querySelectorAll('input[name="'+e.el.name+'"]'))).forEach(function(r){r.addEventListener(t.name,n),e.callbacks.push({event:t.name,callback:n,el:r})})}):(this.el.addEventListener(t.name,n),void this.callbacks.push({event:t.name,callback:n,el:this.el}))}},{key:"attach",value:function(){return this.vm.$validator.attach(this.fieldName,this.el.dataset.rules,this.el.dataset.as),this._attachValidatorEvent(),this.binding.expression?void(this.binding.modifiers.initial||this.vm.$validator.validate(this.binding.expression,this.binding.value,B(this.el))):void this._attachFieldListeners()}},{key:"detach",value:function(){this.vm.$off(ee,this.callbacks.filter(function(e){var t=e.event;return t===ee})[0]),this.callbacks.filter(function(e){var t=e.event;return t!==ee}).forEach(function(e){e.el.removeEventListener(e.event,e.listener)})}}]),e}(),ne=[],re=function(e){return{bind:function(t,n,r){var i=r.context,a=new te(t,n,i,e);a.attach(),ne.push({vm:i,el:t,instance:a})},update:function(e,t,n){var r=t.expression,i=t.value,a=(t.modifiers,t.oldValue),o=n.context;r&&i!==a&&o.$validator.validate(r||e.name,i,B(e))},unbind:function(e,t,n){var r=n.context,i=ne.filter(function(t){return t.vm===r&&t.el===e})[0];i.instance.detach(),ne.splice(ne.indexOf(i),1)}}},ie=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=t.locale,r=void 0===n?"en":n,i=t.delay,a=void 0===i?0:i,o=t.errorBagName,s=void 0===o?"errors":o,u=t.dictionary,l=void 0===u?null:u,c=t.strict,f=void 0===c||c;l&&G.updateDictionary(l),G.setDefaultLocale(r),G.setStrictMode(f);var h={locale:r,delay:a,dictionary:l,errorBagName:s};Object.defineProperties(e.prototype,{$validator:{get:function(){return Q(this)}}}),e.mixin(X(h)),e.directive("validate",re(h))},ae={install:ie,Validator:G,ErrorBag:M};return ae});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.VeeValidate=t()}(this,function(){"use strict";var e=function(e){return/^(([^<>()[\]\\.,;:#\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,6}))$/.test(e)},t=function(e,t){return!!t.filter(function(t){return t==e}).length},n=function(e){return Array.isArray(e)?!!e.length:void 0!==e&&null!==e&&!!String(e).trim().length},i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},r=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},o=function(){function e(e,t){var n=[],i=!0,r=!1,a=void 0;try{for(var s,o=e[Symbol.iterator]();!(i=(s=o.next()).done)&&(n.push(s.value),!t||n.length!==t);i=!0);}catch(u){r=!0,a=u}finally{try{!i&&o["return"]&&o["return"]()}finally{if(r)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),u=function(e){return Array.isArray(e)?e:Array.from(e)},l=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)},c=function(e,t){var n=o(t,1),i=n[0];return void 0!==e&&null!==e&&String(e).length>=i},f=function(e,t){var n=o(t,1),i=n[0];return void 0===e||null===e?i>=0:String(e).length<=i},d=function(e,t){return!t.filter(function(t){return t==e}).length},h=function(e){return!Array.isArray(e)&&/^[a-zA-Z]*$/.test(e)},v=function(e){return!Array.isArray(e)&&/^[a-zA-Z0-9]*$/.test(e)},m=function(e){return!Array.isArray(e)&&/^[a-zA-Z0-9_-]*$/.test(e)},y=function(e){return!Array.isArray(e)&&/^[0-9]*$/.test(e)},g=function(e,t){var n=u(t),i=n[0],r=n.slice(1);return i instanceof RegExp?i.test(e):new RegExp(i,r).test(String(e))},p=function(e){return/^(?:(?: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]?)$/.test(e)},b=function(e,t){for(var n=new RegExp(".("+t.join("|")+")$","i"),i=0;i<e.length;i++)if(!n.test(e[i].name))return!1;return!0},k=function(e,t){for(var n=new RegExp(t.join("|").replace("*",".+")+"$","i"),i=0;i<e.length;i++)if(!n.test(e[i].type))return!1;return!0},_=function(e,t){var n=o(t,1),i=n[0];if(isNaN(i))return!1;for(var r=1024*Number(i),a=0;a<e.length;a++)if(e[a].size>r)return!1;return!0},$=function(e,t){var n=o(t,1),i=n[0],r=String(e);return/^[0-9]*$/.test(r)&&r.length===Number(i)},x=function(e){for(var t=0;t<e.length;t++)if(!/\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(e[t].name))return!1;return!0},w=function(e,t,n){var i=window.URL||window.webkitURL;return new Promise(function(r){var a=new Image;a.onerror=function(){return r({valid:!1})},a.onload=function(){return r({valid:a.width===Number(t)&&a.height===Number(n)})},a.src=i.createObjectURL(e)})},A=function(e,t){for(var n=o(t,2),i=n[0],r=n[1],a=[],s=0;s<e.length;s++){if(!/\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(e[s].name))return!1;a.push(e[s])}return Promise.all(a.map(function(e){return w(e,i,r)}))},E=function(e,t){var n=o(t,2),i=n[0],r=n[1];return Number(i)<=e&&Number(r)>=e},T=function(e,t){var n=o(t,1),i=n[0],r=document.querySelector("input[name='"+i+"']");return!(!r||String(e)!==r.value)},L=function(e,t){var n=/^https?:\/\/([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.\(\)%-]*)*\/?$/.test(e),i=t&&t[0];return i&&n?new RegExp("^https?://(([da-z.-]+).)*("+t[0].replace(".","\\$&")+")").test(e):n},j=function(e){var t=arguments.length<=1||void 0===arguments[1]?["*"]:arguments[1],n=o(t,1),i=n[0];if(Array.isArray(e))return!1;if(null===e||void 0===e||""===e)return!0;var r="*"===i?"*":"{0,"+i+"}",a=new RegExp("^[0-9]*.?[0-9]"+r+"$");return!!a.test(e)&&!Number.isNaN(parseFloat(e))},S={email:e,min:c,max:f,required:n,"in":t,not_in:d,alpha:h,alpha_num:v,alpha_dash:m,numeric:y,regex:g,ip:p,ext:b,mimes:k,size:_,digits:$,image:x,dimensions:A,between:E,confirmed:T,url:L,decimal:j},N=function(){function e(){r(this,e),this.errors=[]}return a(e,[{key:"add",value:function(e,t,n){var i={field:e,msg:t};n&&(i.scope=n),this.errors.push(i)}},{key:"all",value:function(e){return e?this.errors.filter(function(t){return t.scope===e}).map(function(e){return e.msg}):this.errors.map(function(e){return e.msg})}},{key:"any",value:function(e){return e?!!this.errors.filter(function(t){return t.scope===e}).length:!!this.errors.length}},{key:"clear",value:function(e){return e?void(this.errors=this.errors.filter(function(t){return t.scope!==e})):void(this.errors=[])}},{key:"collect",value:function(e,t){var n=this;if(!e){var r=function(){var e={};return n.errors.forEach(function(t){e[t.field]||(e[t.field]=[]),e[t.field].push(t.msg)}),{v:e}}();if("object"===("undefined"==typeof r?"undefined":i(r)))return r.v}return t?this.errors.filter(function(n){return n.field===e&&n.scope===t}).map(function(e){return e.msg}):this.errors.filter(function(t){return t.field===e}).map(function(e){return e.msg})}},{key:"count",value:function(){return this.errors.length}},{key:"first",value:function(e,t){for(var n=0;n<this.errors.length;n++)if(this.errors[n].field===e){if(!t)return this.errors[n].msg;if(this.errors[n].scope===t)return this.errors[n].msg}return null}},{key:"has",value:function(e,t){for(var n=0;n<this.errors.length;n++)if(this.errors[n].field===e){if(!t)return!0;if(this.errors[n].scope===t)return!0}return!1}},{key:"remove",value:function(e,t){return t?void(this.errors=this.errors.filter(function(n){return n.field!==e||n.scope!==t})):void(this.errors=this.errors.filter(function(t){return t.field!==e}))}}]),e}(),B=function(){function e(t){r(this,e),this.msg=t}return a(e,[{key:"toString",value:function(){return this.msg}}]),e}(),O=function(){function e(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];r(this,e),this.dictionary={},this.merge(t)}return a(e,[{key:"hasLocale",value:function(e){return!!this.dictionary[e]}},{key:"getMessage",value:function(e,t){var n=arguments.length<=2||void 0===arguments[2]?"":arguments[2];return this.hasMessage(e,t)?this.dictionary[e].messages[t]:n}},{key:"getAttribute",value:function(e,t){var n=arguments.length<=2||void 0===arguments[2]?"":arguments[2];return this.hasAttribute(e,t)?this.dictionary[e].attributes[t]:n}},{key:"hasMessage",value:function(e,t){return!!(this.hasLocale(e)&&this.dictionary[e].messages&&this.dictionary[e].messages[t])}},{key:"hasAttribute",value:function(e,t){return!!(this.hasLocale(e)&&this.dictionary[e].attributes&&this.dictionary[e].attributes[t])}},{key:"merge",value:function(e){this._merge(this.dictionary,e)}},{key:"setMessage",value:function(e,t,n){this.hasLocale(e)||(this.dictionary[e]={messages:{},attributes:{}}),this.dictionary[e].messages[t]=n}},{key:"setAttribute",value:function(e,t,n){this.hasLocale(e)||(this.dictionary[e]={messages:{},attributes:{}}),this.dictionary[e].attributes[t]=n}},{key:"_isObject",value:function(e){return e&&"object"===("undefined"==typeof e?"undefined":i(e))&&!Array.isArray(e)&&null!==e}},{key:"_merge",value:function(e,t){var n=this;if(!this._isObject(e)||!this._isObject(t))return e;var i=Object.assign||this._assign;return Object.keys(t).forEach(function(r){return n._isObject(t[r])?(e[r]||i(e,s({},r,{})),void n._merge(e[r],t[r])):void i(e,s({},r,t[r]))}),e}},{key:"_assign",value:function(e){for(var t=arguments,n=Object(e),i=function(e){var i=t[e];void 0!==i&&null!==i&&Object.keys(i).forEach(function(e){({}).hasOwnProperty.call(i,e)&&(n[e]=i[e])})},r=1;r<arguments.length;r++)i(r);return n}}]),e}(),M={alpha_dash:function(e){return"The "+e+" may contain alpha-numeric characters as well as dashes and underscores."},alpha_num:function(e){return"The "+e+" may only contain alpha-numeric characters."},alpha:function(e){return"The "+e+" may only contain alphabetic characters."},between:function(e,t){var n=o(t,2),i=n[0],r=n[1];return"The "+e+" must be between "+i+" and "+r+"."},confirmed:function(e,t){var n=o(t,1),i=n[0];return"The "+e+" does not match the "+i+"."},decimal:function(e){var t=arguments.length<=1||void 0===arguments[1]?["*"]:arguments[1],n=o(t,1),i=n[0];return"The "+e+" must be numeric and may contain "+("*"===i?"":i)+" decimal points."},digits:function(e,t){var n=o(t,1),i=n[0];return"The "+e+" must be numeric and exactly contain "+i+" digits."},dimensions:function(e,t){var n=o(t,2),i=n[0],r=n[1];return"The "+e+" must be "+i+" pixels by "+r+" pixels."},email:function(e){return"The "+e+" must be a valid email."},ext:function(e){return"The "+e+" must be a valid file."},image:function(e){return"The "+e+" must be an image."},"in":function(e){return"The "+e+" must be a valid value."},ip:function(e){return"The "+e+" must be a valid ip address."},max:function(e,t){var n=o(t,1),i=n[0];return"The "+e+" may not be greater than "+i+" characters."},mimes:function(e){return"The "+e+" must have a valid file type."},min:function(e,t){var n=o(t,1),i=n[0];return"The "+e+" must be at least "+i+" characters."},not_in:function(e){return"The "+e+" must be a valid value."},numeric:function(e){return"The "+e+" may only contain numeric characters."},regex:function(e){return"The "+e+" format is invalid."},required:function(e){return"The "+e+" is required."},size:function(e,t){var n=o(t,1),i=n[0];return"The "+e+" must be less than "+i+" KB."},url:function(e){return"The "+e+" is not a valid URL."}},V=function(e){return e.dataset.scope||e.form&&e.form.dataset.scope},F=function(e){var t=arguments.length<=1||void 0===arguments[1]?100:arguments[1],n=!(arguments.length<=2||void 0===arguments[2])&&arguments[2];if(!t)return e;var i=void 0;return function(r){function a(){n||e.apply(c,o),i=null}var s=u(r),o=s,c=this;i?clearTimeout(i):n&&e.apply.apply(e,[c].concat(l(o))),i=setTimeout(a,t||100)}},D=function(e){console&&console.warn("vee-validate: "+e)},R=function(e){return function(t,n){var i=o(n,2),r=i[0],a=i[1],s=e(t,a,!0),u=document.querySelector("input[name='"+r+"']");if(!s.isValid()||!u)return!1;var l=e(u.value,a,!0);return!!l.isValid()&&s.isAfter(l)}},q=function(e){return function(t,n){var i=o(n,2),r=i[0],a=i[1],s=e(t,a,!0),u=document.querySelector("input[name='"+r+"']");if(!s.isValid()||!u)return!1;var l=e(u.value,a,!0);return!!l.isValid()&&s.isBefore(l)}},z=function(e){return function(t,n){var i=o(n,1),r=i[0];return e(t,r,!0).isValid()}},P=function(e){return function(t,n){var i=o(n,3),r=i[0],a=i[1],s=i[2],u=e(r,s,!0),l=e(a,s,!0),c=e(t,s,!0);return!!(u.isValid()&&l.isValid()&&c.isValid())&&c.isBetween(u,l)}},U={after:function(e,t){var n=o(t,1),i=n[0];return"The "+e+" must be after "+i+"."},before:function(e,t){var n=o(t,1),i=n[0];return"The "+e+" must be before "+i+"."},date_between:function(e,t){var n=o(t,2),i=n[0],r=n[1];return"The "+e+" must be between "+i+" and "+r+"."},date_format:function(e,t){var n=o(t,1),i=n[0];return"The "+e+" must be in the format "+i+"."}},Z={make:function(e){return{date_format:z(e),after:R(e),before:q(e),date_between:P(e)}},messages:U,installed:!1},C=function(){function e(){r(this,e),this.fields=new Proxy({},{get:function(e,t){return t in e||"string"!=typeof t||(e[t]={}),e[t]}})}return a(e,[{key:"_add",value:function(e){this._setFlags(e,{dirty:!1,valid:!1},!0)}},{key:"_remove",value:function(e){delete this.fields[e]}},{key:"_setFlags",value:function(e,t){var n=this,i=!(arguments.length<=2||void 0===arguments[2])&&arguments[2];Object.keys(t).forEach(function(r){return n._setFlag(e,r,t[r],i)})}},{key:"_setFlag",value:function(e,t,n){var i=!(arguments.length<=3||void 0===arguments[3])&&arguments[3],r="set"+t.charAt(0).toUpperCase()+t.slice(1);"function"==typeof this[r]&&this[r](e,n,i)}},{key:"setDirty",value:function(e,t){var n=!(arguments.length<=2||void 0===arguments[2])&&arguments[2];this.fields[e].dirty=t,this.fields[e].clean=n||!t,this.fields[e].passed=this.fields[e].valid&&t,this.fields[e].failed=!this.fields[e].valid&&t}},{key:"setValid",value:function(e,t){this.fields[e].valid=t,this.fields[e].passed=this.fields[e].dirty&&t,this.fields[e].failed=this.fields[e].dirty&&!t}}]),e}(),I="veeValidate",Y="en",K=!0,G=new O({en:{messages:M,attributes:{}}}),H=function(){function e(t,n){r(this,e),this.locale=Y,this.strictMode=K,this.$fields={},this.fieldBag=new C,this._createFields(t),this.errorBag=new N,this.$vm=n,"function"==typeof moment&&this.installDateTimeValidators(moment)}return a(e,[{key:"installDateTimeValidators",value:function(t){e.installDateTimeValidators(t)}},{key:"setStrictMode",value:function(){var e=arguments.length<=0||void 0===arguments[0]||arguments[0];this.strictMode=e}},{key:"setLocale",value:function(e){G.hasLocale(e)||D("You are setting the validator locale to a locale that is not defined in the dicitionary. English messages may still be generated."),this.locale=e}},{key:"attach",value:function(e,t){var n=arguments.length<=2||void 0===arguments[2]?null:arguments[2];this.errorBag.remove(e),this._createField(e,t),n&&(this.$fields[e].name=n)}},{key:"updateDictionary",value:function(t){e.updateDictionary(t)}},{key:"detach",value:function(e){delete this.$fields[e],this.fieldBag._remove(e)}},{key:"extend",value:function(t,n){e.extend(t,n)}},{key:"validateAll",value:function(e){var t=this;if(this.$vm&&(!e||"string"==typeof e))return this.errorBag.clear(e),void this.$vm.$emit(I,e);var n=!0,i=[];return this.errorBag.clear(),Object.keys(e).forEach(function(r){var a=t.validate(r,e[r]);return"function"==typeof a.then?void i.push(a):void(n=n&&a)}),i.length?Promise.all(i).then(function(e){return e.every(function(e){return e})&&n}):n}},{key:"validate",value:function(e,t,n){var i=this;if(!this.$fields[e])return!this.strictMode||(D('Trying to validate a non-existant field: "'+e+'". Use "attach()" first.'),!1);if(this.errorBag.remove(e,n),!this.$fields[e].required&&~[null,void 0,""].indexOf(t))return!0;var r=!0,a=[];return this.$fields[e].validations.forEach(function(s){var o=i._test(e,t,s,n);return"function"==typeof o.then?void a.push(o):void(r=r&&o)}),a.length?Promise.all(a).then(function(t){var n=t.every(function(e){return e})&&r;return i.fieldBag._setFlags(e,{valid:n,dirty:!0}),n}):(this.fieldBag._setFlags(e,{valid:r,dirty:!0}),r)}},{key:"_createFields",value:function(e){var t=this;e&&Object.keys(e).forEach(function(n){t._createField(n,e[n])})}},{key:"_createField",value:function(e,t){var n=this;return this.$fields[e]||(this.$fields[e]={}),this.fieldBag._add(e),this.$fields[e].validations=[],Array.isArray(t)?void(this.$fields[e].validations=t):void t.split("|").forEach(function(t){var i=n._normalizeRule(t,n.$fields[e].validations);"required"===i.name&&(n.$fields[e].required=!0),n.$fields[e].validations.push(i)})}},{key:"_normalizeRule",value:function(e,t){var n=[],i=e.split(":")[0];if(~e.indexOf(":")&&(n=e.split(":")[1].split(",")),Z.installed&&~["after","before","date_between"].indexOf(i)){var r=t.filter(function(e){return"date_format"===e.name})[0];r&&n.push(r.params[0])}return{name:i,params:n}}},{key:"_formatErrorMessage",value:function(e,t){return G.hasLocale(this.locale)&&"function"==typeof G.getMessage(this.locale,t.name)?G.getMessage(this.locale,t.name)(e,t.params):G.getMessage("en",t.name)(e,t.params)}},{key:"_getFieldDisplayName",value:function(e){return this.$fields[e].name||G.getAttribute(this.locale,e,e)}},{key:"_test",value:function(e,t,n,i){var r=this,a=S[n.name],s=a(t,n.params),o=this._getFieldDisplayName(e);return"function"==typeof s.then?s.then(function(t){var a=Array.isArray(t)?t.every(function(e){return e.valid}):t.valid;return a||r.errorBag.add(e,r._formatErrorMessage(o,n),i),a}):(s||this.errorBag.add(e,this._formatErrorMessage(o,n),i),s)}},{key:"getErrors",value:function(){return this.errorBag}}],[{key:"setDefaultLocale",value:function(){var e=arguments.length<=0||void 0===arguments[0]?"en":arguments[0];G.hasLocale(e)||D("You are setting the validator locale to a locale that is not defined in the dicitionary. English messages may still be generated."),Y=e}},{key:"setStrictMode",value:function(){var e=arguments.length<=0||void 0===arguments[0]||arguments[0];K=e}},{key:"installDateTimeValidators",value:function(t){if("function"!=typeof t)return D("To use the date-time validators you must provide moment reference."),!1;if(Z.installed)return!0;var n=Z.make(t);return Object.keys(n).forEach(function(t){e.extend(t,n[t])}),e.updateDictionary({en:{messages:Z.messages}}),Z.installed=!0,!0}},{key:"updateDictionary",value:function(e){G.merge(e)}},{key:"create",value:function(t,n){return new e(t,n)}},{key:"extend",value:function(t,n){e._guardExtend(t,n),e._merge(t,n)}},{key:"_merge",value:function(e,t){return"function"==typeof t?(S[e]=t,void G.setMessage("en",e,function(e){return"The "+e+" value is not valid."})):(S[e]=t.validate,t.getMessage&&"function"==typeof t.getMessage&&G.setMessage("en",e,t.getMessage),void(t.messages&&G.merge(Object.keys(t.messages).reduce(function(n,i){var r=n;return r[i]={messages:s({},e,t.messages[i])},r},{}))))}},{key:"_guardExtend",value:function(e,t){if(S[e])throw new B("Extension Error: There is an existing validator with the same name '"+e+"'.");if("function"!=typeof t){if("function"!=typeof t.validate)throw new B("Extension Error: The validator '"+e+"' must be a function or have a 'validate' method.");if("function"!=typeof t.getMessage&&"object"!==i(t.messages))throw new B("Extension Error: The validator '"+e+"' must have a 'getMessage' method or have a 'messages' object.")}}}]),e}(),J=[],Q=function(e){for(var t=0;t<J.length;t++)if(J[t].$vm===e)return J[t].$validator},W=function(e){var t=Q(e);return t||(t=H.create(void 0,e),J.push({$vm:e,$validator:t})),t},X=function(e){for(var t=0;t<J.length;t++)if(J[t].$vm===e)return J.splice(t,1),!0;return!1},ee=function(e){return{data:function(){return s({},e.errorBagName,this.$validator.errorBag)},computed:s({},e.fieldsBagName,{get:function(){return this.$validator.fieldBag.fields}}),mounted:function(){this.$emit("validatorReady")},destroyed:function(){X(this)}}},te="veeValidate",ne=function(){function e(t,n,i,a){r(this,e),this.callbacks=[],this.el=t,this.binding=n,this.vm=i,this.options=a,this.fieldName=n.expression||t.name}return a(e,[{key:"_hasFieldDependency",value:function(e){var t=e.split("|").filter(function(e){return!!e.match(/confirmed|after|before/)});return!!t.length&&t[0].split(":")[1]}},{key:"_inputListener",value:function(){this.vm.$validator.validate(this.fieldName,this.el.value,V(this.el))}},{key:"_fileListener",value:function(){var e=this.vm.$validator.validate(this.fieldName,this.el.files,V(this.el));!e&&this.binding.modifiers.reject&&(el.value="")}},{key:"_radioListener",value:function(){var e=document.querySelector('input[name="'+this.el.name+'"]:checked');return e?void this.vm.$validator.validate(this.fieldName,e.value,V(this.el)):void this.vm.$validator.validate(this.fieldName,null,V(this.el))}},{key:"_checkboxListener",value:function(){var e=this,t=document.querySelectorAll('input[name="'+this.el.name+'"]:checked');return t&&t.length?void[].concat(l(t)).forEach(function(t){e.vm.$validator.validate(e.fieldName,t.value,V(e.el))}):void this.vm.$validator.validate(this.fieldName,null,V(this.el))}},{key:"_getScopedListener",value:function(e){var t=this;return function(n){(!n||n===V(t.el)||n instanceof Event)&&e()}}},{key:"_attachValidatorEvent",value:function(){var e=this,t=this._getScopedListener(this._getSuitableListener().listener.bind(this));this.vm.$on(te,t),this.callbacks.push({event:te,listener:t});var n=this._hasFieldDependency(this.el.dataset.rules);n&&this.vm.$once("validatorReady",function(){var i=document.querySelector("input[name='"+n+"']");return i?(i.addEventListener("input",t),void e.callbacks.push({event:"input",listener:t,el:i})):void D("Cannot find target field, no additional listeners were attached.")})}},{key:"_getSuitableListener",value:function(){return"file"===this.el.type?{name:"change",listener:this._fileListener}:"radio"===this.el.type?{name:"change",listener:this._radioListener}:"checkbox"===this.el.type?{name:"change",listener:this._checkboxListener}:{name:"input",listener:this._inputListener}}},{key:"_attachFieldListeners",value:function(){var e=this,t=this._getSuitableListener(),n=F(t.listener.bind(this),this.el.dataset.delay||this.options.delay);return~["radio","checkbox"].indexOf(this.el.type)?void this.vm.$once("validatorReady",function(){[].concat(l(document.querySelectorAll('input[name="'+e.el.name+'"]'))).forEach(function(i){i.addEventListener(t.name,n),e.callbacks.push({event:t.name,callback:n,el:i})})}):(this.el.addEventListener(t.name,n),void this.callbacks.push({event:t.name,callback:n,el:this.el}))}},{key:"attach",value:function(){return this.vm.$validator.attach(this.fieldName,this.el.dataset.rules,this.el.dataset.as),this._attachValidatorEvent(),this.binding.expression?void(this.binding.modifiers.initial||this.vm.$validator.validate(this.binding.expression,this.binding.value,V(this.el))):void this._attachFieldListeners()}},{key:"detach",value:function(){this.vm.$off(te,this.callbacks.filter(function(e){var t=e.event;return t===te})[0]),this.callbacks.filter(function(e){var t=e.event;return t!==te}).forEach(function(e){e.el.removeEventListener(e.event,e.listener)})}}]),e}(),ie=[],re=function(e){return{bind:function(t,n,i){var r=i.context,a=new ne(t,n,r,e);a.attach(),ie.push({vm:r,el:t,instance:a})},update:function(e,t,n){var i=t.expression,r=t.value,a=(t.modifiers,t.oldValue),s=n.context;i&&r!==a&&s.$validator.validate(i||e.name,r,V(e))},unbind:function(e,t,n){var i=n.context,r=ie.filter(function(t){return t.vm===i&&t.el===e})[0];r.instance.detach(),ie.splice(ie.indexOf(r),1)}}},ae=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=t.locale,i=void 0===n?"en":n,r=t.delay,a=void 0===r?0:r,s=t.errorBagName,o=void 0===s?"errors":s,u=t.dictionary,l=void 0===u?null:u,c=t.strict,f=void 0===c||c,d=t.fieldsBagName,h=void 0===d?"fields":d;l&&H.updateDictionary(l),H.setDefaultLocale(i),H.setStrictMode(f);var v={locale:i,delay:a,dictionary:l,errorBagName:o,fieldsBagName:h};Object.defineProperties(e.prototype,{$validator:{get:function(){return W(this)}}}),e.mixin(ee(v)),e.directive("validate",re(v))},se={install:ae,Validator:H,ErrorBag:N};return se});
{
"name": "vee-validate",
"version": "2.0.0-beta.12",
"version": "2.0.0-beta.13",
"description": "Simple Vue.js input validation plugin",

@@ -5,0 +5,0 @@ "main": "dist/vee-validate.js",

@@ -31,3 +31,3 @@ # Vee-Validate

```
bower install vee-validate#1.0.0-beta.7 --save
bower install vee-validate#1.0.0-beta.8 --save
```

@@ -38,3 +38,3 @@

```
bower install vee-validate#2.0.0-beta.12 --save
bower install vee-validate#2.0.0-beta.13 --save
```

@@ -49,3 +49,3 @@

```html
<script src="https://cdn.jsdelivr.net/vee-validate/1.0.0-beta.7/vee-validate.min.js"></script>
<script src="https://cdn.jsdelivr.net/vee-validate/1.0.0-beta.8/vee-validate.min.js"></script>
```

@@ -56,3 +56,3 @@

```html
<script src="https://cdn.jsdelivr.net/vee-validate/2.0.0-beta.12/vee-validate.min.js"></script>
<script src="https://cdn.jsdelivr.net/vee-validate/2.0.0-beta.13/vee-validate.min.js"></script>
```

@@ -59,0 +59,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc