vee-validate 3.4.5 → 3.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -15
- package/dist/locale/ar.json +1 -1
- package/dist/locale/es.json +3 -1
- package/dist/locale/fa.json +2 -0
- package/dist/rules.js +129 -124
- package/dist/rules.umd.js +129 -124
- package/dist/rules.umd.min.js +6 -1
- package/dist/types/components/Observer.d.ts +2 -1
- package/dist/types/components/Provider.d.ts +1 -0
- package/dist/types/types.d.ts +1 -0
- package/dist/types/utils/assertions.d.ts +0 -4
- package/dist/vee-validate.esm.js +85 -44
- package/dist/vee-validate.full.esm.js +216 -171
- package/dist/vee-validate.full.js +216 -171
- package/dist/vee-validate.full.min.js +6 -1
- package/dist/vee-validate.js +85 -44
- package/dist/vee-validate.min.js +20 -1
- package/package.json +8 -5
package/dist/rules.umd.min.js
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* vee-validate v3.4.9
|
|
3
|
+
* (c) 2021 Abdelrahman Awad
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((r="undefined"!=typeof globalThis?globalThis:r||self).VeeValidateRules={})}(this,(function(r){"use strict";var e={en:/^[A-Z]*$/i,cs:/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,da:/^[A-ZÆØÅ]*$/i,de:/^[A-ZÄÖÜß]*$/i,es:/^[A-ZÁÉÍÑÓÚÜ]*$/i,fa:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,fr:/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,it:/^[A-Z\xC0-\xFF]*$/i,lt:/^[A-ZĄČĘĖĮŠŲŪŽ]*$/i,nl:/^[A-ZÉËÏÓÖÜ]*$/i,hu:/^[A-ZÁÉÍÓÖŐÚÜŰ]*$/i,pl:/^[A-ZĄĆĘŚŁŃÓŻŹ]*$/i,pt:/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,ro:/^[A-ZĂÂÎŞŢ]*$/i,ru:/^[А-ЯЁ]*$/i,sk:/^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,sr:/^[A-ZČĆŽŠĐ]*$/i,sv:/^[A-ZÅÄÖ]*$/i,tr:/^[A-ZÇĞİıÖŞÜ]*$/i,uk:/^[А-ЩЬЮЯЄІЇҐ]*$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,az:/^[A-ZÇƏĞİıÖŞÜ]*$/i,el:/^[Α-ώ]*$/i,ja:/[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]/g},t={en:/^[A-Z\s]*$/i,cs:/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ\s]*$/i,da:/^[A-ZÆØÅ\s]*$/i,de:/^[A-ZÄÖÜß\s]*$/i,es:/^[A-ZÁÉÍÑÓÚÜ\s]*$/i,fa:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,fr:/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ\s]*$/i,it:/^[A-Z\xC0-\xFF\s]*$/i,lt:/^[A-ZĄČĘĖĮŠŲŪŽ\s]*$/i,nl:/^[A-ZÉËÏÓÖÜ\s]*$/i,hu:/^[A-ZÁÉÍÓÖŐÚÜŰ\s]*$/i,pl:/^[A-ZĄĆĘŚŁŃÓŻŹ\s]*$/i,pt:/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ\s]*$/i,ro:/^[A-ZĂÂÎŞŢ\s]*$/i,ru:/^[А-ЯЁ\s]*$/i,sk:/^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ\s]*$/i,sr:/^[A-ZČĆŽŠĐ\s]*$/i,sv:/^[A-ZÅÄÖ\s]*$/i,tr:/^[A-ZÇĞİıÖŞÜ\s]*$/i,uk:/^[А-ЩЬЮЯЄІЇҐ\s]*$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ\s]*$/,az:/^[A-ZÇƏĞİıÖŞÜ\s]*$/i,el:/^[Α-ώ\s]*$/i,ja:/[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]/g},n={en:/^[0-9A-Z]*$/i,cs:/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,da:/^[0-9A-ZÆØÅ]$/i,de:/^[0-9A-ZÄÖÜß]*$/i,es:/^[0-9A-ZÁÉÍÑÓÚÜ]*$/i,fa:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,fr:/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,it:/^[0-9A-Z\xC0-\xFF]*$/i,lt:/^[0-9A-ZĄČĘĖĮŠŲŪŽ]*$/i,hu:/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]*$/i,nl:/^[0-9A-ZÉËÏÓÖÜ]*$/i,pl:/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]*$/i,pt:/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,ro:/^[0-9A-ZĂÂÎŞŢ]*$/i,ru:/^[0-9А-ЯЁ]*$/i,sk:/^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,sr:/^[0-9A-ZČĆŽŠĐ]*$/i,sv:/^[0-9A-ZÅÄÖ]*$/i,tr:/^[0-9A-ZÇĞİıÖŞÜ]*$/i,uk:/^[0-9А-ЩЬЮЯЄІЇҐ]*$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,az:/^[0-9A-ZÇƏĞİıÖŞÜ]*$/i,el:/^[0-9Α-ώ]*$/i,ja:/[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]/g},i={en:/^[0-9A-Z_-]*$/i,cs:/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ_-]*$/i,da:/^[0-9A-ZÆØÅ_-]*$/i,de:/^[0-9A-ZÄÖÜß_-]*$/i,es:/^[0-9A-ZÁÉÍÑÓÚÜ_-]*$/i,fa:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,fr:/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ_-]*$/i,it:/^[0-9A-Z\xC0-\xFF_-]*$/i,lt:/^[0-9A-ZĄČĘĖĮŠŲŪŽ_-]*$/i,nl:/^[0-9A-ZÉËÏÓÖÜ_-]*$/i,hu:/^[0-9A-ZÁÉÍÓÖŐÚÜŰ_-]*$/i,pl:/^[0-9A-ZĄĆĘŚŁŃÓŻŹ_-]*$/i,pt:/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ_-]*$/i,ro:/^[0-9A-ZĂÂÎŞŢ_-]*$/i,ru:/^[0-9А-ЯЁ_-]*$/i,sk:/^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ_-]*$/i,sr:/^[0-9A-ZČĆŽŠĐ_-]*$/i,sv:/^[0-9A-ZÅÄÖ_-]*$/i,tr:/^[0-9A-ZÇĞİıÖŞÜ_-]*$/i,uk:/^[0-9А-ЩЬЮЯЄІЇҐ_-]*$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ_-]*$/,az:/^[0-9A-ZÇƏĞİıÖŞÜ_-]*$/i,el:/^[0-9Α-ώ_-]*$/i,ja:/[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]/g},a=function(r,t){var n=(void 0===t?{}:t).locale,i=void 0===n?"":n;return Array.isArray(r)?r.every((function(r){return a(r,{locale:i})})):i?(e[i]||e.en).test(r):Object.keys(e).some((function(t){return e[t].test(r)}))},u={validate:a,params:[{name:"locale"}]},s=function(r,e){var t=(void 0===e?{}:e).locale,n=void 0===t?"":t;return Array.isArray(r)?r.every((function(r){return s(r,{locale:n})})):n?(i[n]||i.en).test(r):Object.keys(i).some((function(e){return i[e].test(r)}))},o={validate:s,params:[{name:"locale"}]},l=function(r,e){var t=(void 0===e?{}:e).locale,i=void 0===t?"":t;return Array.isArray(r)?r.every((function(r){return l(r,{locale:i})})):i?(n[i]||n.en).test(r):Object.keys(n).some((function(e){return n[e].test(r)}))},A={validate:l,params:[{name:"locale"}]},c=function(r,e){var n=(void 0===e?{}:e).locale,i=void 0===n?"":n;return Array.isArray(r)?r.every((function(r){return c(r,{locale:i})})):i?(t[i]||t.en).test(r):Object.keys(t).some((function(e){return t[e].test(r)}))},f={validate:c,params:[{name:"locale"}]},m=function(r,e){var t=void 0===e?{}:e,n=t.min,i=t.max;return Array.isArray(r)?r.every((function(r){return!!m(r,{min:n,max:i})})):Number(n)<=r&&Number(i)>=r},v={validate:m,params:[{name:"min"},{name:"max"}]},$={validate:function(r,e){var t=e.target;return String(r)===String(t)},params:[{name:"target",isTarget:!0}]},d=function(r,e){var t=e.length;if(Array.isArray(r))return r.every((function(r){return d(r,{length:t})}));var n=String(r);return/^[0-9]*$/.test(n)&&n.length===t},y={validate:d,params:[{name:"length",cast:function(r){return Number(r)}}]},g={validate:function(r,e){var t=e.width,n=e.height,i=[];r=Array.isArray(r)?r:[r];for(var a=0;a<r.length;a++){if(!/\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(r[a].name))return Promise.resolve(!1);i.push(r[a])}return Promise.all(i.map((function(r){return function(r,e,t){var n=window.URL||window.webkitURL;return new Promise((function(i){var a=new Image;a.onerror=function(){return i(!1)},a.onload=function(){return i(a.width===e&&a.height===t)},a.src=n.createObjectURL(r)}))}(r,t,n)}))).then((function(r){return r.every((function(r){return r}))}))},params:[{name:"width",cast:function(r){return Number(r)}},{name:"height",cast:function(r){return Number(r)}}]},p={validate:function(r,e){var t=(void 0===e?{}:e).multiple,n=/^(([^<>()\[\]\\.,;:\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,}))$/;return t&&!Array.isArray(r)&&(r=String(r).split(",").map((function(r){return r.trim()}))),Array.isArray(r)?r.every((function(r){return n.test(String(r))})):n.test(String(r))},params:[{name:"multiple",default:!1}]};function Z(r){return null==r}function F(r){return Array.isArray(r)&&0===r.length}function h(r){return"function"==typeof Array.from?Array.from(r):function(r){for(var e=[],t=r.length,n=0;n<t;n++)e.push(r[n]);return e}(r)}var _=function(r,e){return Array.isArray(r)?r.every((function(r){return _(r,e)})):h(e).some((function(e){return e==r}))},x={validate:_},b={validate:function(r,e){return!_(r,e)}},w={validate:function(r,e){var t=new RegExp(".("+e.join("|")+")$","i");return Array.isArray(r)?r.every((function(r){return t.test(r.name)})):t.test(r.name)}},S={validate:function(r){var e=/\.(jpg|svg|jpeg|png|bmp|gif|webp)$/i;return Array.isArray(r)?r.every((function(r){return e.test(r.name)})):e.test(r.name)}},j={validate:function(r){return Array.isArray(r)?r.every((function(r){return/^-?[0-9]+$/.test(String(r))})):/^-?[0-9]+$/.test(String(r))}},N={validate:function(r,e){return r===e.other},params:[{name:"other"}]},k={validate:function(r,e){return r!==e.other},params:[{name:"other"}]},E={validate:function(r,e){var t=e.length;return!Z(r)&&("string"==typeof r&&(r=h(r)),"number"==typeof r&&(r=String(r)),r.length||(r=h(r)),r.length===t)},params:[{name:"length",cast:function(r){return Number(r)}}]},z=function(r,e){var t=e.length;return Z(r)?t>=0:Array.isArray(r)?r.every((function(r){return z(r,{length:t})})):String(r).length<=t},R={validate:z,params:[{name:"length",cast:function(r){return Number(r)}}]},O=function(r,e){var t=e.max;return!Z(r)&&""!==r&&(Array.isArray(r)?r.length>0&&r.every((function(r){return O(r,{max:t})})):Number(r)<=t)},q={validate:O,params:[{name:"max",cast:function(r){return Number(r)}}]},C={validate:function(r,e){var t=new RegExp(e.join("|").replace("*",".+")+"$","i");return Array.isArray(r)?r.every((function(r){return t.test(r.type)})):t.test(r.type)}},P=function(r,e){var t=e.length;return!Z(r)&&(Array.isArray(r)?r.every((function(r){return P(r,{length:t})})):String(r).length>=t)},T={validate:P,params:[{name:"length",cast:function(r){return Number(r)}}]},L=function(r,e){var t=e.min;return!Z(r)&&""!==r&&(Array.isArray(r)?r.length>0&&r.every((function(r){return L(r,{min:t})})):Number(r)>=t)},U={validate:L,params:[{name:"min",cast:function(r){return Number(r)}}]},V=/^[٠١٢٣٤٥٦٧٨٩]+$/,I=/^[0-9]+$/,M={validate:function(r){var e=function(r){var e=String(r);return I.test(e)||V.test(e)};return Array.isArray(r)?r.every(e):e(r)}},B=function(r,e){var t=e.regex;return Array.isArray(r)?r.every((function(r){return B(r,{regex:t})})):t.test(String(r))},D={validate:B,params:[{name:"regex",cast:function(r){return"string"==typeof r?new RegExp(r):r}}]},G={validate:function(r,e){var t=(void 0===e?{allowFalse:!0}:e).allowFalse,n={valid:!1,required:!0};return Z(r)||F(r)?n:!1!==r||t?(n.valid=!!String(r).trim().length,n):n},params:[{name:"allowFalse",default:!0}],computesRequired:!0},H=function(r){return F(r)||-1!==[!1,null,void 0].indexOf(r)||!String(r).trim().length},J={validate:function(r,e){var t,n=e.target,i=e.values;return i&&i.length?(Array.isArray(i)||"string"!=typeof i||(i=[i]),t=i.some((function(r){return r==String(n).trim()}))):t=!H(n),t?{valid:!H(r),required:t}:{valid:!0,required:t}},params:[{name:"target",isTarget:!0},{name:"values"}],computesRequired:!0},K={validate:function(r,e){var t=e.size;if(isNaN(t))return!1;var n=1024*t;if(!Array.isArray(r))return r.size<=n;for(var i=0;i<r.length;i++)if(r[i].size>n)return!1;return!0},params:[{name:"size",cast:function(r){return Number(r)}}]},Q={validate:function(r,e){var t=e||{},n=t.decimals,i=void 0===n?0:n,a=t.separator,u=new RegExp("^-?\\d+\\"+({dot:".",comma:","}[void 0===a?"dot":a]||".")+"\\d"+(0==+i?"+":"{"+i+"}")+"$");return Array.isArray(r)?r.every((function(r){return u.test(String(r))})):u.test(String(r))},params:[{name:"decimals",default:0},{name:"separator",default:"dot"}]};r.alpha=u,r.alpha_dash=o,r.alpha_num=A,r.alpha_spaces=f,r.between=v,r.confirmed=$,r.digits=y,r.dimensions=g,r.double=Q,r.email=p,r.excluded=b,r.ext=w,r.image=S,r.integer=j,r.is=N,r.is_not=k,r.length=E,r.max=R,r.max_value=q,r.mimes=C,r.min=T,r.min_value=U,r.numeric=M,r.oneOf=x,r.regex=D,r.required=G,r.required_if=J,r.size=K,Object.defineProperty(r,"__esModule",{value:!0})}));
|
|
@@ -38,8 +38,9 @@ export declare const ValidationObserver: import("vue/types/vue").ExtendedVue<Vue
|
|
|
38
38
|
validate(...args: any[]): Promise<ValidationResult>;
|
|
39
39
|
validateSilent(): Promise<ValidationResult>;
|
|
40
40
|
setErrors(errors: string[]): void;
|
|
41
|
-
applyResult({ errors, failedRules, regenerateMap }: Pick<ValidationResult, "errors" | "failedRules" | "regenerateMap">): void;
|
|
41
|
+
applyResult({ errors, failedRules, regenerateMap }: Pick<ValidationResult, "required" | "errors" | "failedRules" | "regenerateMap">): void;
|
|
42
42
|
registerField(): void;
|
|
43
|
+
checkComputesRequiredState(): boolean;
|
|
43
44
|
} & {
|
|
44
45
|
fieldDeps: string[];
|
|
45
46
|
normalizedEvents: string[];
|
|
@@ -35,6 +35,7 @@ export declare const ValidationProvider: import("vue/types/vue").ExtendedVue<Vue
|
|
|
35
35
|
setErrors(errors: string[]): void;
|
|
36
36
|
applyResult({ errors, failedRules, regenerateMap }: Omit<ValidationResult, 'valid'>): void;
|
|
37
37
|
registerField(): void;
|
|
38
|
+
checkComputesRequiredState(): boolean;
|
|
38
39
|
}, {
|
|
39
40
|
fieldDeps: string[];
|
|
40
41
|
normalizedEvents: string[];
|
package/dist/types/types.d.ts
CHANGED
|
@@ -9,10 +9,6 @@ export declare const isObject: (obj: unknown) => obj is {
|
|
|
9
9
|
* A reference comparison function with NaN support
|
|
10
10
|
*/
|
|
11
11
|
export declare function isRefEqual(lhs: any, rhs: any): boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Shallow object comparison.
|
|
14
|
-
*/
|
|
15
|
-
export declare function isEqual(lhs: any, rhs: any): boolean;
|
|
16
12
|
export declare function isSpecified(val: string | null | undefined): boolean;
|
|
17
13
|
export declare function isCallable(fn: unknown): fn is Function;
|
|
18
14
|
export declare function isLocator(value: unknown): value is Locator;
|
package/dist/vee-validate.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* vee-validate v3.4.
|
|
3
|
-
* (c)
|
|
2
|
+
* vee-validate v3.4.9
|
|
3
|
+
* (c) 2021 Abdelrahman Awad
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
6
6
|
import Vue from 'vue';
|
|
@@ -100,34 +100,6 @@ function isRefEqual(lhs, rhs) {
|
|
|
100
100
|
}
|
|
101
101
|
return lhs === rhs;
|
|
102
102
|
}
|
|
103
|
-
/**
|
|
104
|
-
* Shallow object comparison.
|
|
105
|
-
*/
|
|
106
|
-
function isEqual(lhs, rhs) {
|
|
107
|
-
if (lhs instanceof RegExp && rhs instanceof RegExp) {
|
|
108
|
-
return isEqual(lhs.source, rhs.source) && isEqual(lhs.flags, rhs.flags);
|
|
109
|
-
}
|
|
110
|
-
if (Array.isArray(lhs) && Array.isArray(rhs)) {
|
|
111
|
-
if (lhs.length !== rhs.length)
|
|
112
|
-
return false;
|
|
113
|
-
for (var i = 0; i < lhs.length; i++) {
|
|
114
|
-
if (!isEqual(lhs[i], rhs[i])) {
|
|
115
|
-
return false;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
return true;
|
|
119
|
-
}
|
|
120
|
-
// if both are objects, compare each key recursively.
|
|
121
|
-
if (isObject(lhs) && isObject(rhs)) {
|
|
122
|
-
return (Object.keys(lhs).every(function (key) {
|
|
123
|
-
return isEqual(lhs[key], rhs[key]);
|
|
124
|
-
}) &&
|
|
125
|
-
Object.keys(rhs).every(function (key) {
|
|
126
|
-
return isEqual(lhs[key], rhs[key]);
|
|
127
|
-
}));
|
|
128
|
-
}
|
|
129
|
-
return isRefEqual(lhs, rhs);
|
|
130
|
-
}
|
|
131
103
|
// Checks if a given value is not an empty string or null or undefined.
|
|
132
104
|
function isSpecified(val) {
|
|
133
105
|
if (val === '') {
|
|
@@ -135,6 +107,7 @@ function isSpecified(val) {
|
|
|
135
107
|
}
|
|
136
108
|
return !isNullOrUndefined(val);
|
|
137
109
|
}
|
|
110
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
138
111
|
function isCallable(fn) {
|
|
139
112
|
return typeof fn === 'function';
|
|
140
113
|
}
|
|
@@ -559,6 +532,7 @@ function validate(value, rules, options) {
|
|
|
559
532
|
});
|
|
560
533
|
return [2 /*return*/, {
|
|
561
534
|
valid: result.valid,
|
|
535
|
+
required: result.required,
|
|
562
536
|
errors: errors,
|
|
563
537
|
failedRules: failedRules,
|
|
564
538
|
regenerateMap: regenerateMap
|
|
@@ -573,15 +547,16 @@ function validate(value, rules, options) {
|
|
|
573
547
|
function _validate(field, value, _a) {
|
|
574
548
|
var _b = (_a === void 0 ? {} : _a).isInitial, isInitial = _b === void 0 ? false : _b;
|
|
575
549
|
return __awaiter(this, void 0, void 0, function () {
|
|
576
|
-
var _c, shouldSkip, errors, rules, length, i, rule, result;
|
|
550
|
+
var _c, shouldSkip, required, errors, rules, length, i, rule, result;
|
|
577
551
|
return __generator(this, function (_d) {
|
|
578
552
|
switch (_d.label) {
|
|
579
553
|
case 0: return [4 /*yield*/, _shouldSkip(field, value)];
|
|
580
554
|
case 1:
|
|
581
|
-
_c = _d.sent(), shouldSkip = _c.shouldSkip, errors = _c.errors;
|
|
555
|
+
_c = _d.sent(), shouldSkip = _c.shouldSkip, required = _c.required, errors = _c.errors;
|
|
582
556
|
if (shouldSkip) {
|
|
583
557
|
return [2 /*return*/, {
|
|
584
558
|
valid: !errors.length,
|
|
559
|
+
required: required,
|
|
585
560
|
errors: errors
|
|
586
561
|
}];
|
|
587
562
|
}
|
|
@@ -606,6 +581,7 @@ function _validate(field, value, _a) {
|
|
|
606
581
|
if (field.bails) {
|
|
607
582
|
return [2 /*return*/, {
|
|
608
583
|
valid: false,
|
|
584
|
+
required: required,
|
|
609
585
|
errors: errors
|
|
610
586
|
}];
|
|
611
587
|
}
|
|
@@ -616,6 +592,7 @@ function _validate(field, value, _a) {
|
|
|
616
592
|
return [3 /*break*/, 2];
|
|
617
593
|
case 5: return [2 /*return*/, {
|
|
618
594
|
valid: !errors.length,
|
|
595
|
+
required: required,
|
|
619
596
|
errors: errors
|
|
620
597
|
}];
|
|
621
598
|
}
|
|
@@ -633,7 +610,6 @@ function _shouldSkip(field, value) {
|
|
|
633
610
|
errors = [];
|
|
634
611
|
isEmpty = isNullOrUndefined(value) || value === '' || isEmptyArray(value);
|
|
635
612
|
isEmptyAndOptional = isEmpty && field.skipIfEmpty;
|
|
636
|
-
isRequired = false;
|
|
637
613
|
i = 0;
|
|
638
614
|
_a.label = 1;
|
|
639
615
|
case 1:
|
|
@@ -648,8 +624,8 @@ function _shouldSkip(field, value) {
|
|
|
648
624
|
if (!isObject(result)) {
|
|
649
625
|
throw new Error('Require rules has to return an object (see docs)');
|
|
650
626
|
}
|
|
651
|
-
if (result.required) {
|
|
652
|
-
isRequired =
|
|
627
|
+
if (result.required !== undefined) {
|
|
628
|
+
isRequired = result.required;
|
|
653
629
|
}
|
|
654
630
|
if (!result.valid && result.error) {
|
|
655
631
|
errors.push(result.error);
|
|
@@ -657,6 +633,7 @@ function _shouldSkip(field, value) {
|
|
|
657
633
|
if (field.bails) {
|
|
658
634
|
return [2 /*return*/, {
|
|
659
635
|
shouldSkip: true,
|
|
636
|
+
required: result.required,
|
|
660
637
|
errors: errors
|
|
661
638
|
}];
|
|
662
639
|
}
|
|
@@ -669,6 +646,7 @@ function _shouldSkip(field, value) {
|
|
|
669
646
|
if (isEmpty && !isRequired && !field.skipIfEmpty) {
|
|
670
647
|
return [2 /*return*/, {
|
|
671
648
|
shouldSkip: false,
|
|
649
|
+
required: isRequired,
|
|
672
650
|
errors: errors
|
|
673
651
|
}];
|
|
674
652
|
}
|
|
@@ -676,12 +654,14 @@ function _shouldSkip(field, value) {
|
|
|
676
654
|
if (!field.bails && !isEmptyAndOptional) {
|
|
677
655
|
return [2 /*return*/, {
|
|
678
656
|
shouldSkip: false,
|
|
657
|
+
required: isRequired,
|
|
679
658
|
errors: errors
|
|
680
659
|
}];
|
|
681
660
|
}
|
|
682
661
|
// skip if the field is not required and has an empty value.
|
|
683
662
|
return [2 /*return*/, {
|
|
684
663
|
shouldSkip: !isRequired && isEmpty,
|
|
664
|
+
required: isRequired,
|
|
685
665
|
errors: errors
|
|
686
666
|
}];
|
|
687
667
|
}
|
|
@@ -922,6 +902,51 @@ function localize(locale, dictionary) {
|
|
|
922
902
|
DICTIONARY.merge(locale);
|
|
923
903
|
}
|
|
924
904
|
|
|
905
|
+
// do not edit .js files directly - edit src/index.jst
|
|
906
|
+
|
|
907
|
+
|
|
908
|
+
|
|
909
|
+
var fastDeepEqual = function equal(a, b) {
|
|
910
|
+
if (a === b) return true;
|
|
911
|
+
|
|
912
|
+
if (a && b && typeof a == 'object' && typeof b == 'object') {
|
|
913
|
+
if (a.constructor !== b.constructor) return false;
|
|
914
|
+
|
|
915
|
+
var length, i, keys;
|
|
916
|
+
if (Array.isArray(a)) {
|
|
917
|
+
length = a.length;
|
|
918
|
+
if (length != b.length) return false;
|
|
919
|
+
for (i = length; i-- !== 0;)
|
|
920
|
+
if (!equal(a[i], b[i])) return false;
|
|
921
|
+
return true;
|
|
922
|
+
}
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
|
|
926
|
+
if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
|
|
927
|
+
if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
|
|
928
|
+
if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
|
|
929
|
+
|
|
930
|
+
keys = Object.keys(a);
|
|
931
|
+
length = keys.length;
|
|
932
|
+
if (length !== Object.keys(b).length) return false;
|
|
933
|
+
|
|
934
|
+
for (i = length; i-- !== 0;)
|
|
935
|
+
if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
|
|
936
|
+
|
|
937
|
+
for (i = length; i-- !== 0;) {
|
|
938
|
+
var key = keys[i];
|
|
939
|
+
|
|
940
|
+
if (!equal(a[key], b[key])) return false;
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
return true;
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
// true if both NaN, false otherwise
|
|
947
|
+
return a!==a && b!==b;
|
|
948
|
+
};
|
|
949
|
+
|
|
925
950
|
var isEvent = function (evt) {
|
|
926
951
|
if (!evt) {
|
|
927
952
|
return false;
|
|
@@ -1316,7 +1341,7 @@ function addListeners(vm, node) {
|
|
|
1316
1341
|
}
|
|
1317
1342
|
|
|
1318
1343
|
var PROVIDER_COUNTER = 0;
|
|
1319
|
-
function data() {
|
|
1344
|
+
function data$1() {
|
|
1320
1345
|
var errors = [];
|
|
1321
1346
|
var fieldName = '';
|
|
1322
1347
|
var defaultValues = {
|
|
@@ -1333,6 +1358,7 @@ function data() {
|
|
|
1333
1358
|
return defaultValues;
|
|
1334
1359
|
}
|
|
1335
1360
|
var ValidationProvider = Vue.extend({
|
|
1361
|
+
name: 'ValidationProvider',
|
|
1336
1362
|
inject: {
|
|
1337
1363
|
$_veeObserver: {
|
|
1338
1364
|
from: '$_veeObserver',
|
|
@@ -1406,11 +1432,11 @@ var ValidationProvider = Vue.extend({
|
|
|
1406
1432
|
rules: {
|
|
1407
1433
|
deep: true,
|
|
1408
1434
|
handler: function (val, oldVal) {
|
|
1409
|
-
this._needsValidation = !
|
|
1435
|
+
this._needsValidation = !fastDeepEqual(val, oldVal);
|
|
1410
1436
|
}
|
|
1411
1437
|
}
|
|
1412
1438
|
},
|
|
1413
|
-
data: data,
|
|
1439
|
+
data: data$1,
|
|
1414
1440
|
computed: {
|
|
1415
1441
|
fieldDeps: function () {
|
|
1416
1442
|
var _this = this;
|
|
@@ -1490,7 +1516,7 @@ var ValidationProvider = Vue.extend({
|
|
|
1490
1516
|
return;
|
|
1491
1517
|
}
|
|
1492
1518
|
var resolved = getConfig().useConstraintAttrs ? resolveRules(input) : {};
|
|
1493
|
-
if (!
|
|
1519
|
+
if (!fastDeepEqual(_this._resolvedRules, resolved)) {
|
|
1494
1520
|
_this._needsValidation = true;
|
|
1495
1521
|
}
|
|
1496
1522
|
if (isHTMLNode(input)) {
|
|
@@ -1523,7 +1549,7 @@ var ValidationProvider = Vue.extend({
|
|
|
1523
1549
|
syncValue: function (v) {
|
|
1524
1550
|
var value = normalizeEventValue(v);
|
|
1525
1551
|
this.value = value;
|
|
1526
|
-
this.flags.changed = this.initialValue
|
|
1552
|
+
this.flags.changed = !fastDeepEqual(this.initialValue, value);
|
|
1527
1553
|
},
|
|
1528
1554
|
reset: function () {
|
|
1529
1555
|
var _this = this;
|
|
@@ -1576,6 +1602,11 @@ var ValidationProvider = Vue.extend({
|
|
|
1576
1602
|
valid: result.valid,
|
|
1577
1603
|
invalid: !result.valid
|
|
1578
1604
|
});
|
|
1605
|
+
if (result.required !== undefined) {
|
|
1606
|
+
this.setFlags({
|
|
1607
|
+
required: result.required
|
|
1608
|
+
});
|
|
1609
|
+
}
|
|
1579
1610
|
return [2 /*return*/, result];
|
|
1580
1611
|
}
|
|
1581
1612
|
});
|
|
@@ -1595,11 +1626,16 @@ var ValidationProvider = Vue.extend({
|
|
|
1595
1626
|
invalid: !!errors.length,
|
|
1596
1627
|
failed: !!errors.length,
|
|
1597
1628
|
validated: true,
|
|
1598
|
-
changed: this.value
|
|
1629
|
+
changed: !fastDeepEqual(this.value, this.initialValue)
|
|
1599
1630
|
});
|
|
1600
1631
|
},
|
|
1601
1632
|
registerField: function () {
|
|
1602
1633
|
updateRenderingContextRefs(this);
|
|
1634
|
+
},
|
|
1635
|
+
checkComputesRequiredState: function () {
|
|
1636
|
+
var rules = __assign(__assign({}, this._resolvedRules), this.normalizedRules);
|
|
1637
|
+
var isRequired = Object.keys(rules).some(RuleContainer.isRequireRule);
|
|
1638
|
+
return isRequired;
|
|
1603
1639
|
}
|
|
1604
1640
|
}
|
|
1605
1641
|
});
|
|
@@ -1700,10 +1736,15 @@ function watchCrossFieldDep(ctx, depName, withHooks) {
|
|
|
1700
1736
|
}
|
|
1701
1737
|
if (!isCallable(ctx._veeWatchers[depName]) && providers[depName]) {
|
|
1702
1738
|
ctx._veeWatchers[depName] = providers[depName].$watch('value', function () {
|
|
1739
|
+
var isComputesRequired = ctx.checkComputesRequiredState();
|
|
1703
1740
|
if (ctx.flags.validated) {
|
|
1704
1741
|
ctx._needsValidation = true;
|
|
1705
1742
|
ctx.validate();
|
|
1706
1743
|
}
|
|
1744
|
+
// Validate dependent field silently if it has rules with computesRequired
|
|
1745
|
+
if (isComputesRequired && !ctx.flags.validated) {
|
|
1746
|
+
ctx.validateSilent();
|
|
1747
|
+
}
|
|
1707
1748
|
});
|
|
1708
1749
|
}
|
|
1709
1750
|
}
|
|
@@ -1722,7 +1763,7 @@ var FLAGS_STRATEGIES = [
|
|
|
1722
1763
|
['failed', 'some']
|
|
1723
1764
|
];
|
|
1724
1765
|
var OBSERVER_COUNTER = 0;
|
|
1725
|
-
function data
|
|
1766
|
+
function data() {
|
|
1726
1767
|
var refs = {};
|
|
1727
1768
|
var errors = {};
|
|
1728
1769
|
var flags = createObserverFlags();
|
|
@@ -1777,7 +1818,7 @@ var ValidationObserver = Vue.extend({
|
|
|
1777
1818
|
default: false
|
|
1778
1819
|
}
|
|
1779
1820
|
},
|
|
1780
|
-
data: data
|
|
1821
|
+
data: data,
|
|
1781
1822
|
created: function () {
|
|
1782
1823
|
var _this = this;
|
|
1783
1824
|
this.id = this.vid;
|
|
@@ -1989,6 +2030,6 @@ function withValidation(component, mapProps) {
|
|
|
1989
2030
|
return hoc;
|
|
1990
2031
|
}
|
|
1991
2032
|
|
|
1992
|
-
var version = '3.4.
|
|
2033
|
+
var version = '3.4.9';
|
|
1993
2034
|
|
|
1994
2035
|
export { ValidationObserver, ValidationProvider, configure, extend, localeChanged, localize, normalizeRules, setInteractionMode, validate, version, withValidation };
|