kanun 1.1.0 → 1.1.2
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 +7 -7
- package/dist/index.cjs +433 -293
- package/dist/index.js +424 -279
- package/package.json +10 -10
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
//#region \0rolldown/runtime.js
|
|
3
3
|
var __create = Object.create;
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -7,16 +7,12 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
|
7
7
|
var __getProtoOf = Object.getPrototypeOf;
|
|
8
8
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
9
|
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
}
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
11
|
+
key = keys[i];
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
13
|
+
get: ((k) => from[k]).bind(null, key),
|
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
|
+
});
|
|
20
16
|
}
|
|
21
17
|
return to;
|
|
22
18
|
};
|
|
@@ -24,16 +20,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
24
20
|
value: mod,
|
|
25
21
|
enumerable: true
|
|
26
22
|
}) : target, mod));
|
|
27
|
-
|
|
28
23
|
//#endregion
|
|
29
24
|
let node_async_hooks = require("node:async_hooks");
|
|
30
25
|
let node_url = require("node:url");
|
|
31
26
|
let node_net = require("node:net");
|
|
32
27
|
let dayjs_plugin_customParseFormat_js = require("dayjs/plugin/customParseFormat.js");
|
|
33
|
-
dayjs_plugin_customParseFormat_js = __toESM(dayjs_plugin_customParseFormat_js);
|
|
28
|
+
dayjs_plugin_customParseFormat_js = __toESM(dayjs_plugin_customParseFormat_js, 1);
|
|
34
29
|
let dayjs = require("dayjs");
|
|
35
|
-
dayjs = __toESM(dayjs);
|
|
36
|
-
|
|
30
|
+
dayjs = __toESM(dayjs, 1);
|
|
37
31
|
//#region src/Context.ts
|
|
38
32
|
const validatorContextStorage = new node_async_hooks.AsyncLocalStorage();
|
|
39
33
|
/**
|
|
@@ -72,255 +66,244 @@ function runWithValidatorContext(context, callback) {
|
|
|
72
66
|
...context
|
|
73
67
|
}, callback);
|
|
74
68
|
}
|
|
75
|
-
|
|
76
69
|
//#endregion
|
|
77
70
|
//#region src/Rules/baseRule.ts
|
|
78
71
|
var BaseRule = class {};
|
|
79
|
-
|
|
80
|
-
//#endregion
|
|
81
|
-
//#region src/locales/en.ts
|
|
82
|
-
var en_default = {
|
|
83
|
-
accepted: "The :attribute must be accepted.",
|
|
84
|
-
accepted_if: "The :attribute must be accepted when :other is :value.",
|
|
85
|
-
after: "The :attribute must be a date after :date.",
|
|
86
|
-
after_or_equal: "The :attribute must be a date after or equal to :date.",
|
|
87
|
-
alpha: "The :attribute must only contain letters.",
|
|
88
|
-
alpha_dash: "The :attribute must only contain at least one letter or one number, and optionally dashes and underscores.",
|
|
89
|
-
alpha_num: "The :attribute must only contain letters and numbers.",
|
|
90
|
-
array: "The :attribute must be an array.",
|
|
91
|
-
array_unique: "The :attribute must be an array with unique values.",
|
|
92
|
-
before: "The :attribute must be a date before :date.",
|
|
93
|
-
before_or_equal: "The :attribute must be a date before or equal to :date.",
|
|
94
|
-
between: {
|
|
95
|
-
number: "The :attribute must be between :min and :max.",
|
|
96
|
-
string: "The :attribute must be between :min and :max characters.",
|
|
97
|
-
array: "The :attribute must have between :min and :max items.",
|
|
98
|
-
object: "The :attribute must have between :min and :max items."
|
|
99
|
-
},
|
|
100
|
-
boolean: "The :attribute field must be true or false.",
|
|
101
|
-
confirmed: "The :attribute confirmation does not match.",
|
|
102
|
-
date: "The :attribute is not a valid date.",
|
|
103
|
-
datetime: "The :attribute must be a valid date matching the format :format.",
|
|
104
|
-
date_equals: "The :attribute must be a date equal to :date.",
|
|
105
|
-
declined: "The :attribute must be declined.",
|
|
106
|
-
declined_if: "The :attribute must be declined when :other is :value.",
|
|
107
|
-
different: "The :attribute and :other must be different.",
|
|
108
|
-
distinct: "The :attribute field has a duplicate value.",
|
|
109
|
-
digits: "The :attribute must be :digits digits.",
|
|
110
|
-
digits_between: "The :attribute must be between :min and :max digits.",
|
|
111
|
-
email: "The :attribute must be a valid email address.",
|
|
112
|
-
ends_with: "The :attribute must end with one of the following: :values.",
|
|
113
|
-
filled: "The :attribute field must have a value.",
|
|
114
|
-
exists: "The selected :attribute is invalid.",
|
|
115
|
-
gt: {
|
|
116
|
-
number: "The :attribute must be greater than :value.",
|
|
117
|
-
string: "The :attribute must be greater than :value characters.",
|
|
118
|
-
array: "The :attribute must have more than :value items.",
|
|
119
|
-
object: "The :attribute must have more than :value items."
|
|
120
|
-
},
|
|
121
|
-
gte: {
|
|
122
|
-
number: "The :attribute must be greater than or equal :value.",
|
|
123
|
-
string: "The :attribute must be greater than or equal :value characters.",
|
|
124
|
-
array: "The :attribute must have :value items or more.",
|
|
125
|
-
object: "The :attribute must have :value items or more."
|
|
126
|
-
},
|
|
127
|
-
hex: "The :attribute must be a valid hexadecimal color.",
|
|
128
|
-
in: "The :attribute must be one of the following :values.",
|
|
129
|
-
includes: "The :attribute must include one of the following values: :values.",
|
|
130
|
-
integer: "The :attribute must be an integer.",
|
|
131
|
-
ip: "The :attribute must be a valid IP address.",
|
|
132
|
-
ipv4: "The :attribute must be a valid IPv4 address.",
|
|
133
|
-
ipv6: "The :attribute must be a valid IPv6 address.",
|
|
134
|
-
json: "The :attribute must be a valid JSON string.",
|
|
135
|
-
lt: {
|
|
136
|
-
number: "The :attribute must be less than :value.",
|
|
137
|
-
string: "The :attribute must be less than :value characters.",
|
|
138
|
-
array: "The :attribute must have less than :value items.",
|
|
139
|
-
object: "The :attribute must have less than :value items."
|
|
140
|
-
},
|
|
141
|
-
lte: {
|
|
142
|
-
number: "The :attribute must be less than or equal :value.",
|
|
143
|
-
string: "The :attribute must be less than or equal :value characters.",
|
|
144
|
-
array: "The :attribute must have :value items or less.",
|
|
145
|
-
object: "The :attribute must have :value items or less."
|
|
146
|
-
},
|
|
147
|
-
max: {
|
|
148
|
-
number: "The :attribute must not be greater than :max.",
|
|
149
|
-
string: "The :attribute must not be greater than :max characters.",
|
|
150
|
-
array: "The :attribute must not have more than :max items.",
|
|
151
|
-
object: "The :attribute must not have more than :max items."
|
|
152
|
-
},
|
|
153
|
-
min: {
|
|
154
|
-
number: "The :attribute must be at least :min.",
|
|
155
|
-
string: "The :attribute must be at least :min characters.",
|
|
156
|
-
array: "The :attribute must have at least :min items.",
|
|
157
|
-
object: "The :attribute must have at least :min items."
|
|
158
|
-
},
|
|
159
|
-
mac_address: "The :attribute must be a valid MAC address.",
|
|
160
|
-
not_in: "The selected :attribute is invalid.",
|
|
161
|
-
not_regex: "The :attribute format is invalid.",
|
|
162
|
-
not_includes: "The :attribute must not include any of the following values: :values.",
|
|
163
|
-
numeric: "The :attribute must be a number.",
|
|
164
|
-
object: "The :attribute must be an object.",
|
|
165
|
-
password: {
|
|
166
|
-
letter: "The :attribute must contain at least one letter.",
|
|
167
|
-
letters: "The :attribute must contain at least :amount letters.",
|
|
168
|
-
lower_case: "The :attribute must contain at least one lowercase letter.",
|
|
169
|
-
lower_cases: "The :attribute must contain at least :amount lowercase letters.",
|
|
170
|
-
number: "The :attribute must contain at least one number.",
|
|
171
|
-
numbers: "The :attribute must contain at least :amount numbers.",
|
|
172
|
-
symbol: "The :attribute must contain at least one symbol.",
|
|
173
|
-
symbols: "The :attribute must contain at least :amount symbols.",
|
|
174
|
-
upper_case: "The :attribute must contain at least one uppercase letter.",
|
|
175
|
-
upper_cases: "The :attribute must contain at least :amount uppercase letters."
|
|
176
|
-
},
|
|
177
|
-
present: "The :attribute field must be present.",
|
|
178
|
-
presentsame: "The :attribute field must be present.",
|
|
179
|
-
prohibited: "The :attribute field is prohibited.",
|
|
180
|
-
prohibited_unless: "The :attribute field is prohibited unless :other is in :values.",
|
|
181
|
-
prohibits: "The :attribute field prohibits :values from being present.",
|
|
182
|
-
regex: "The :attribute format is invalid.",
|
|
183
|
-
required: "The :attribute field is required.",
|
|
184
|
-
required_if: "The :attribute field is required when :other is :value.",
|
|
185
|
-
required_unless: "The :attribute field is required unless :other is in :values.",
|
|
186
|
-
required_with: "The :attribute field is required when :values is present.",
|
|
187
|
-
required_with_all: "The :attribute field is required when :values are present.",
|
|
188
|
-
required_without: "The :attribute field is required when :values is not present.",
|
|
189
|
-
required_without_all: "The :attribute field is required when none of :values are present.",
|
|
190
|
-
starts_with: "The :attribute must start with one of the following: :values.",
|
|
191
|
-
same: "The :attribute and :other must match.",
|
|
192
|
-
size: {
|
|
193
|
-
number: "The :attribute must be :size.",
|
|
194
|
-
string: "The :attribute must be :size characters.",
|
|
195
|
-
array: "The :attribute must contain :size items.",
|
|
196
|
-
object: "The :attribute must contain :size items."
|
|
197
|
-
},
|
|
198
|
-
string: "The :attribute must be a string.",
|
|
199
|
-
timezone: "The :attribute must be a valid timezone.",
|
|
200
|
-
unique: "The :attribute has already been taken.",
|
|
201
|
-
url: "The :attribute must have a valid URL format.",
|
|
202
|
-
multiple_of: "The :attribute must be a multiple of :value."
|
|
203
|
-
};
|
|
204
|
-
|
|
205
|
-
//#endregion
|
|
206
|
-
//#region src/locales/ar.ts
|
|
207
|
-
var ar_default = {
|
|
208
|
-
accepted: "يجب قبول الحقل :attribute",
|
|
209
|
-
accepted_if: "الحقل :attribute مقبول في حال ما إذا كان :other يساوي :value.",
|
|
210
|
-
after: "يجب على الحقل :attribute أن يكون تاريخا لاحقا للتاريخ :date.",
|
|
211
|
-
after_or_equal: "الحقل :attribute يجب أن يكون تاريخاً لاحقاً أو مطابقاً للتاريخ :date.",
|
|
212
|
-
alpha: "يجب أن لا يحتوي الحقل :attribute سوى على حروف",
|
|
213
|
-
alpha_dash: "يجب أن يحتوي الحقل :attribute على حرف واحد أو رقم واحد على الأقل، بالإضافة إلى شرطات وشرطات سفلية بشكل اختياري",
|
|
214
|
-
alpha_num: "يجب أن يحتوي :attribute على حروف وأرقام فقط",
|
|
215
|
-
array: "يجب أن يكون الحقل :attribute ًمصفوفة",
|
|
216
|
-
before: "يجب على الحقل :attribute أن يكون تاريخا سابقا للتاريخ :date.",
|
|
217
|
-
before_or_equal: "الحقل :attribute يجب أن يكون تاريخا سابقا أو مطابقا للتاريخ :date",
|
|
218
|
-
between: {
|
|
219
|
-
number: "يجب أن تكون قيمة :attribute بين :min و :max.",
|
|
220
|
-
string: "يجب أن يكون عدد حروف النّص :attribute بين :min و :max",
|
|
221
|
-
array: "يجب أن يحتوي :attribute على عدد من العناصر بين :min و :max",
|
|
222
|
-
object: "يجب أن يحتوي :attribute على عدد من العناصر بين :min و :max"
|
|
223
|
-
},
|
|
224
|
-
boolean: "يجب أن تكون قيمة الحقل :attribute إما true أو false",
|
|
225
|
-
confirmed: "حقل التأكيد غير مُطابق للحقل :attribute",
|
|
226
|
-
date: "الحقل :attribute ليس تاريخًا صحيحًا",
|
|
227
|
-
datetime: "الحقل :attribute يجب أن يكون تاريخًا صالحًا يطابق الصيغة :format.",
|
|
228
|
-
date_equals: "لا يساوي الحقل :attribute مع :date.",
|
|
229
|
-
declined: "يجب رفض الحقل :attribute",
|
|
230
|
-
declined_if: "الحقل :attribute مرفوض في حال ما إذا كان :other يساوي :value.",
|
|
231
|
-
different: "يجب أن يكون الحقلان :attribute و :other مُختلفان",
|
|
232
|
-
digits: "يجب أن يحتوي الحقل :attribute على :digits رقمًا/أرقام",
|
|
233
|
-
digits_between: "يجب أن يحتوي الحقل :attribute بين :min و :max رقمًا/أرقام",
|
|
234
|
-
email: "يجب أن يكون :attribute عنوان بريد إلكتروني صحيح البُنية",
|
|
235
|
-
ends_with: "حقل :attribute يجب ان ينتهي بأحد القيم التالية :value.",
|
|
236
|
-
exists: "الحقل :attribute غير موجود",
|
|
237
|
-
gt: {
|
|
238
|
-
number: "حقل :attribute يجب ان يكون اكبر من :value.",
|
|
239
|
-
string: "حقل :attribute يجب ان يكون اكبر من :value حروفٍ/حرفًا.",
|
|
240
|
-
array: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر.",
|
|
241
|
-
object: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر."
|
|
242
|
-
},
|
|
243
|
-
gte: {
|
|
244
|
-
number: "حقل :attribute يجب ان يكون اكبر من او يساوي :value.",
|
|
245
|
-
string: "حقل :attribute يجب ان يكون اكبر من او يساوي :value حروفٍ/حرفًا.",
|
|
246
|
-
array: "حقل :attribute يجب ان يحتوي علي :value عناصر/عنصر او اكثر.",
|
|
247
|
-
object: "حقل :attribute يجب ان يحتوي علي :value عناصر/عنصر او اكثر."
|
|
248
|
-
},
|
|
249
|
-
hex: "الحقل :attribute يجب أن يكون لونًا سداسيًا صالحًا.",
|
|
250
|
-
in: "الحقل :attribute غير صالح",
|
|
251
|
-
includes: "الحقل :attribute يجب أن يحتوي على أحد القيم التالية: :values.",
|
|
252
|
-
integer: "يجب أن يكون الحقل :attribute عددًا صحيحًا",
|
|
253
|
-
json: "يجب أن يكون الحقل :attribute نصا من نوع JSON.",
|
|
254
|
-
lt: {
|
|
255
|
-
number: "حقل :attribute يجب ان يكون اقل من :value.",
|
|
256
|
-
string: "حقل :attribute يجب ان يكون اقل من :value حروفٍ/حرفًا.",
|
|
257
|
-
array: "حقل :attribute يجب ان يحتوي علي اقل من :value عناصر/عنصر.",
|
|
258
|
-
object: "حقل :attribute يجب ان يحتوي علي اقل من :value عناصر/عنصر."
|
|
259
|
-
},
|
|
260
|
-
lte: {
|
|
261
|
-
number: "حقل :attribute يجب ان يكون اقل من او يساوي :value.",
|
|
262
|
-
string: "حقل :attribute يجب ان يكون اقل من او يساوي :value حروفٍ/حرفًا.",
|
|
263
|
-
array: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر.",
|
|
264
|
-
object: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر."
|
|
265
|
-
},
|
|
266
|
-
max: {
|
|
267
|
-
number: "يجب أن تكون قيمة الحقل :attribute مساوية أو أصغر لـ :max.",
|
|
268
|
-
string: "يجب أن لا يتجاوز طول نص :attribute :max حروفٍ/حرفًا",
|
|
269
|
-
array: "يجب أن لا يحتوي الحقل :attribute على أكثر من :max عناصر/عنصر.",
|
|
270
|
-
object: "يجب أن لا يحتوي الحقل :attribute على أكثر من :max عناصر/عنصر."
|
|
271
|
-
},
|
|
272
|
-
min: {
|
|
273
|
-
number: "يجب أن تكون قيمة الحقل :attribute مساوية أو أكبر لـ :min.",
|
|
274
|
-
string: "يجب أن يكون طول نص :attribute على الأقل :min حروفٍ/حرفًا",
|
|
275
|
-
array: "يجب أن يحتوي الحقل :attribute على الأقل على :min عُنصرًا/عناصر",
|
|
276
|
-
object: "يجب أن يحتوي الحقل :attribute على الأقل على :min عُنصرًا/عناصر"
|
|
277
|
-
},
|
|
278
|
-
not_in: "الحقل :attribute غير صالح",
|
|
279
|
-
not_regex: "الحقل :attribute نوعه غير صالح",
|
|
280
|
-
not_includes: "الحقل :attribute يجب ألا يحتوي على أي من القيم التالية: :values.",
|
|
281
|
-
numeric: "يجب على الحقل :attribute أن يكون رقمًا",
|
|
282
|
-
object: "الحقل :attribute يجب ان يكون من نوع object.",
|
|
283
|
-
password: {
|
|
284
|
-
letter: "يجب ان يشمل حقل :attribute على حرف واحد على الاقل.",
|
|
285
|
-
letters: "يجب ان يشمل حقل :attribute على عدد :amount حروف على الاقل.",
|
|
286
|
-
lower_case: "يجب ان يشمل حقل :attribute على حرف واحد من صيغة صغيرة على الاقل.",
|
|
287
|
-
lower_cases: "يجب ان يشمل حقل :attribute على عدد :amount حروف صغيرة على الاقل.",
|
|
288
|
-
number: "يجب ان يشمل حقل :attribute على رقم واحد على الاقل.",
|
|
289
|
-
numbers: "يجب ان يشمل حقل :attribute على عدد :amount من الارقام على الاقل.",
|
|
290
|
-
symbol: "يجب ان يشمل حقل :attribute على رمز واحد على الاقل.",
|
|
291
|
-
symbols: "يجب ان يشمل حقل :attribute على عدد :amount رموز على الاقل.",
|
|
292
|
-
upper_case: "يجب ان يشمل حقل :attribute على حرف كبير واحد على الاقل.",
|
|
293
|
-
upper_cases: "يجب ان يشمل حقل :attribute على عدد :amount حروف كبيرة على الاقل."
|
|
294
|
-
},
|
|
295
|
-
present: "يجب تقديم الحقل :attribute",
|
|
296
|
-
regex: "صيغة الحقل :attribute .غير صحيحة",
|
|
297
|
-
required: "الحقل :attribute مطلوب.",
|
|
298
|
-
required_if: "الحقل :attribute مطلوب في حال ما إذا كان :other يساوي :value.",
|
|
299
|
-
required_unless: "الحقل :attribute مطلوب في حال ما لم يكن :other يساوي :values.",
|
|
300
|
-
required_with: "الحقل :attribute اجباري إذا توفّر :values.",
|
|
301
|
-
required_with_all: "الحقل :attribute اجباري إذا توفّر :values.",
|
|
302
|
-
required_without: "الحقل :attribute اجباري إذا لم يتوفّر :values.",
|
|
303
|
-
required_without_all: "الحقل :attribute اجباري إذا لم يتوفّر :values.",
|
|
304
|
-
starts_with: "الحقل :attribute يجب ان يبدأ بأحد القيم التالية: :values.",
|
|
305
|
-
same: "يجب أن يتطابق الحقل :attribute مع :other",
|
|
306
|
-
size: {
|
|
307
|
-
number: "يجب أن تكون قيمة الحقل :attribute مساوية لـ :size",
|
|
308
|
-
string: "يجب أن يحتوي النص :attribute على :size حروفٍ/حرفًا بالظبط",
|
|
309
|
-
array: "يجب أن يحتوي الحقل :attribute على :size عنصرٍ/عناصر بالظبط",
|
|
310
|
-
object: "يجب أن يحتوي الحقل :attribute على :size عنصرٍ/عناصر بالظبط"
|
|
311
|
-
},
|
|
312
|
-
string: "يجب أن يكون الحقل :attribute نصآ.",
|
|
313
|
-
unique: "الحقل :attribute مستخدم بالفعل.",
|
|
314
|
-
url: "صيغة الرابط :attribute غير صحيحة"
|
|
315
|
-
};
|
|
316
|
-
|
|
317
72
|
//#endregion
|
|
318
73
|
//#region src/locales/index.ts
|
|
319
74
|
var locales_default = {
|
|
320
|
-
en:
|
|
321
|
-
|
|
75
|
+
en: {
|
|
76
|
+
accepted: "The :attribute must be accepted.",
|
|
77
|
+
accepted_if: "The :attribute must be accepted when :other is :value.",
|
|
78
|
+
after: "The :attribute must be a date after :date.",
|
|
79
|
+
after_or_equal: "The :attribute must be a date after or equal to :date.",
|
|
80
|
+
alpha: "The :attribute must only contain letters.",
|
|
81
|
+
alpha_dash: "The :attribute must only contain at least one letter or one number, and optionally dashes and underscores.",
|
|
82
|
+
alpha_num: "The :attribute must only contain letters and numbers.",
|
|
83
|
+
array: "The :attribute must be an array.",
|
|
84
|
+
array_unique: "The :attribute must be an array with unique values.",
|
|
85
|
+
before: "The :attribute must be a date before :date.",
|
|
86
|
+
before_or_equal: "The :attribute must be a date before or equal to :date.",
|
|
87
|
+
between: {
|
|
88
|
+
number: "The :attribute must be between :min and :max.",
|
|
89
|
+
string: "The :attribute must be between :min and :max characters.",
|
|
90
|
+
array: "The :attribute must have between :min and :max items.",
|
|
91
|
+
object: "The :attribute must have between :min and :max items."
|
|
92
|
+
},
|
|
93
|
+
boolean: "The :attribute field must be true or false.",
|
|
94
|
+
confirmed: "The :attribute confirmation does not match.",
|
|
95
|
+
date: "The :attribute is not a valid date.",
|
|
96
|
+
datetime: "The :attribute must be a valid date matching the format :format.",
|
|
97
|
+
date_equals: "The :attribute must be a date equal to :date.",
|
|
98
|
+
declined: "The :attribute must be declined.",
|
|
99
|
+
declined_if: "The :attribute must be declined when :other is :value.",
|
|
100
|
+
different: "The :attribute and :other must be different.",
|
|
101
|
+
distinct: "The :attribute field has a duplicate value.",
|
|
102
|
+
digits: "The :attribute must be :digits digits.",
|
|
103
|
+
digits_between: "The :attribute must be between :min and :max digits.",
|
|
104
|
+
email: "The :attribute must be a valid email address.",
|
|
105
|
+
ends_with: "The :attribute must end with one of the following: :values.",
|
|
106
|
+
filled: "The :attribute field must have a value.",
|
|
107
|
+
exists: "The selected :attribute is invalid.",
|
|
108
|
+
gt: {
|
|
109
|
+
number: "The :attribute must be greater than :value.",
|
|
110
|
+
string: "The :attribute must be greater than :value characters.",
|
|
111
|
+
array: "The :attribute must have more than :value items.",
|
|
112
|
+
object: "The :attribute must have more than :value items."
|
|
113
|
+
},
|
|
114
|
+
gte: {
|
|
115
|
+
number: "The :attribute must be greater than or equal :value.",
|
|
116
|
+
string: "The :attribute must be greater than or equal :value characters.",
|
|
117
|
+
array: "The :attribute must have :value items or more.",
|
|
118
|
+
object: "The :attribute must have :value items or more."
|
|
119
|
+
},
|
|
120
|
+
hex: "The :attribute must be a valid hexadecimal color.",
|
|
121
|
+
in: "The :attribute must be one of the following :values.",
|
|
122
|
+
includes: "The :attribute must include one of the following values: :values.",
|
|
123
|
+
integer: "The :attribute must be an integer.",
|
|
124
|
+
ip: "The :attribute must be a valid IP address.",
|
|
125
|
+
ipv4: "The :attribute must be a valid IPv4 address.",
|
|
126
|
+
ipv6: "The :attribute must be a valid IPv6 address.",
|
|
127
|
+
json: "The :attribute must be a valid JSON string.",
|
|
128
|
+
lt: {
|
|
129
|
+
number: "The :attribute must be less than :value.",
|
|
130
|
+
string: "The :attribute must be less than :value characters.",
|
|
131
|
+
array: "The :attribute must have less than :value items.",
|
|
132
|
+
object: "The :attribute must have less than :value items."
|
|
133
|
+
},
|
|
134
|
+
lte: {
|
|
135
|
+
number: "The :attribute must be less than or equal :value.",
|
|
136
|
+
string: "The :attribute must be less than or equal :value characters.",
|
|
137
|
+
array: "The :attribute must have :value items or less.",
|
|
138
|
+
object: "The :attribute must have :value items or less."
|
|
139
|
+
},
|
|
140
|
+
max: {
|
|
141
|
+
number: "The :attribute must not be greater than :max.",
|
|
142
|
+
string: "The :attribute must not be greater than :max characters.",
|
|
143
|
+
array: "The :attribute must not have more than :max items.",
|
|
144
|
+
object: "The :attribute must not have more than :max items."
|
|
145
|
+
},
|
|
146
|
+
min: {
|
|
147
|
+
number: "The :attribute must be at least :min.",
|
|
148
|
+
string: "The :attribute must be at least :min characters.",
|
|
149
|
+
array: "The :attribute must have at least :min items.",
|
|
150
|
+
object: "The :attribute must have at least :min items."
|
|
151
|
+
},
|
|
152
|
+
mac_address: "The :attribute must be a valid MAC address.",
|
|
153
|
+
not_in: "The selected :attribute is invalid.",
|
|
154
|
+
not_regex: "The :attribute format is invalid.",
|
|
155
|
+
not_includes: "The :attribute must not include any of the following values: :values.",
|
|
156
|
+
numeric: "The :attribute must be a number.",
|
|
157
|
+
object: "The :attribute must be an object.",
|
|
158
|
+
password: {
|
|
159
|
+
letter: "The :attribute must contain at least one letter.",
|
|
160
|
+
letters: "The :attribute must contain at least :amount letters.",
|
|
161
|
+
lower_case: "The :attribute must contain at least one lowercase letter.",
|
|
162
|
+
lower_cases: "The :attribute must contain at least :amount lowercase letters.",
|
|
163
|
+
number: "The :attribute must contain at least one number.",
|
|
164
|
+
numbers: "The :attribute must contain at least :amount numbers.",
|
|
165
|
+
symbol: "The :attribute must contain at least one symbol.",
|
|
166
|
+
symbols: "The :attribute must contain at least :amount symbols.",
|
|
167
|
+
upper_case: "The :attribute must contain at least one uppercase letter.",
|
|
168
|
+
upper_cases: "The :attribute must contain at least :amount uppercase letters."
|
|
169
|
+
},
|
|
170
|
+
present: "The :attribute field must be present.",
|
|
171
|
+
presentsame: "The :attribute field must be present.",
|
|
172
|
+
prohibited: "The :attribute field is prohibited.",
|
|
173
|
+
prohibited_unless: "The :attribute field is prohibited unless :other is in :values.",
|
|
174
|
+
prohibits: "The :attribute field prohibits :values from being present.",
|
|
175
|
+
regex: "The :attribute format is invalid.",
|
|
176
|
+
required: "The :attribute field is required.",
|
|
177
|
+
required_if: "The :attribute field is required when :other is :value.",
|
|
178
|
+
required_unless: "The :attribute field is required unless :other is in :values.",
|
|
179
|
+
required_with: "The :attribute field is required when :values is present.",
|
|
180
|
+
required_with_all: "The :attribute field is required when :values are present.",
|
|
181
|
+
required_without: "The :attribute field is required when :values is not present.",
|
|
182
|
+
required_without_all: "The :attribute field is required when none of :values are present.",
|
|
183
|
+
starts_with: "The :attribute must start with one of the following: :values.",
|
|
184
|
+
same: "The :attribute and :other must match.",
|
|
185
|
+
size: {
|
|
186
|
+
number: "The :attribute must be :size.",
|
|
187
|
+
string: "The :attribute must be :size characters.",
|
|
188
|
+
array: "The :attribute must contain :size items.",
|
|
189
|
+
object: "The :attribute must contain :size items."
|
|
190
|
+
},
|
|
191
|
+
string: "The :attribute must be a string.",
|
|
192
|
+
timezone: "The :attribute must be a valid timezone.",
|
|
193
|
+
unique: "The :attribute has already been taken.",
|
|
194
|
+
url: "The :attribute must have a valid URL format.",
|
|
195
|
+
multiple_of: "The :attribute must be a multiple of :value."
|
|
196
|
+
},
|
|
197
|
+
ar: {
|
|
198
|
+
accepted: "يجب قبول الحقل :attribute",
|
|
199
|
+
accepted_if: "الحقل :attribute مقبول في حال ما إذا كان :other يساوي :value.",
|
|
200
|
+
after: "يجب على الحقل :attribute أن يكون تاريخا لاحقا للتاريخ :date.",
|
|
201
|
+
after_or_equal: "الحقل :attribute يجب أن يكون تاريخاً لاحقاً أو مطابقاً للتاريخ :date.",
|
|
202
|
+
alpha: "يجب أن لا يحتوي الحقل :attribute سوى على حروف",
|
|
203
|
+
alpha_dash: "يجب أن يحتوي الحقل :attribute على حرف واحد أو رقم واحد على الأقل، بالإضافة إلى شرطات وشرطات سفلية بشكل اختياري",
|
|
204
|
+
alpha_num: "يجب أن يحتوي :attribute على حروف وأرقام فقط",
|
|
205
|
+
array: "يجب أن يكون الحقل :attribute ًمصفوفة",
|
|
206
|
+
before: "يجب على الحقل :attribute أن يكون تاريخا سابقا للتاريخ :date.",
|
|
207
|
+
before_or_equal: "الحقل :attribute يجب أن يكون تاريخا سابقا أو مطابقا للتاريخ :date",
|
|
208
|
+
between: {
|
|
209
|
+
number: "يجب أن تكون قيمة :attribute بين :min و :max.",
|
|
210
|
+
string: "يجب أن يكون عدد حروف النّص :attribute بين :min و :max",
|
|
211
|
+
array: "يجب أن يحتوي :attribute على عدد من العناصر بين :min و :max",
|
|
212
|
+
object: "يجب أن يحتوي :attribute على عدد من العناصر بين :min و :max"
|
|
213
|
+
},
|
|
214
|
+
boolean: "يجب أن تكون قيمة الحقل :attribute إما true أو false",
|
|
215
|
+
confirmed: "حقل التأكيد غير مُطابق للحقل :attribute",
|
|
216
|
+
date: "الحقل :attribute ليس تاريخًا صحيحًا",
|
|
217
|
+
datetime: "الحقل :attribute يجب أن يكون تاريخًا صالحًا يطابق الصيغة :format.",
|
|
218
|
+
date_equals: "لا يساوي الحقل :attribute مع :date.",
|
|
219
|
+
declined: "يجب رفض الحقل :attribute",
|
|
220
|
+
declined_if: "الحقل :attribute مرفوض في حال ما إذا كان :other يساوي :value.",
|
|
221
|
+
different: "يجب أن يكون الحقلان :attribute و :other مُختلفان",
|
|
222
|
+
digits: "يجب أن يحتوي الحقل :attribute على :digits رقمًا/أرقام",
|
|
223
|
+
digits_between: "يجب أن يحتوي الحقل :attribute بين :min و :max رقمًا/أرقام",
|
|
224
|
+
email: "يجب أن يكون :attribute عنوان بريد إلكتروني صحيح البُنية",
|
|
225
|
+
ends_with: "حقل :attribute يجب ان ينتهي بأحد القيم التالية :value.",
|
|
226
|
+
exists: "الحقل :attribute غير موجود",
|
|
227
|
+
gt: {
|
|
228
|
+
number: "حقل :attribute يجب ان يكون اكبر من :value.",
|
|
229
|
+
string: "حقل :attribute يجب ان يكون اكبر من :value حروفٍ/حرفًا.",
|
|
230
|
+
array: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر.",
|
|
231
|
+
object: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر."
|
|
232
|
+
},
|
|
233
|
+
gte: {
|
|
234
|
+
number: "حقل :attribute يجب ان يكون اكبر من او يساوي :value.",
|
|
235
|
+
string: "حقل :attribute يجب ان يكون اكبر من او يساوي :value حروفٍ/حرفًا.",
|
|
236
|
+
array: "حقل :attribute يجب ان يحتوي علي :value عناصر/عنصر او اكثر.",
|
|
237
|
+
object: "حقل :attribute يجب ان يحتوي علي :value عناصر/عنصر او اكثر."
|
|
238
|
+
},
|
|
239
|
+
hex: "الحقل :attribute يجب أن يكون لونًا سداسيًا صالحًا.",
|
|
240
|
+
in: "الحقل :attribute غير صالح",
|
|
241
|
+
includes: "الحقل :attribute يجب أن يحتوي على أحد القيم التالية: :values.",
|
|
242
|
+
integer: "يجب أن يكون الحقل :attribute عددًا صحيحًا",
|
|
243
|
+
json: "يجب أن يكون الحقل :attribute نصا من نوع JSON.",
|
|
244
|
+
lt: {
|
|
245
|
+
number: "حقل :attribute يجب ان يكون اقل من :value.",
|
|
246
|
+
string: "حقل :attribute يجب ان يكون اقل من :value حروفٍ/حرفًا.",
|
|
247
|
+
array: "حقل :attribute يجب ان يحتوي علي اقل من :value عناصر/عنصر.",
|
|
248
|
+
object: "حقل :attribute يجب ان يحتوي علي اقل من :value عناصر/عنصر."
|
|
249
|
+
},
|
|
250
|
+
lte: {
|
|
251
|
+
number: "حقل :attribute يجب ان يكون اقل من او يساوي :value.",
|
|
252
|
+
string: "حقل :attribute يجب ان يكون اقل من او يساوي :value حروفٍ/حرفًا.",
|
|
253
|
+
array: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر.",
|
|
254
|
+
object: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر."
|
|
255
|
+
},
|
|
256
|
+
max: {
|
|
257
|
+
number: "يجب أن تكون قيمة الحقل :attribute مساوية أو أصغر لـ :max.",
|
|
258
|
+
string: "يجب أن لا يتجاوز طول نص :attribute :max حروفٍ/حرفًا",
|
|
259
|
+
array: "يجب أن لا يحتوي الحقل :attribute على أكثر من :max عناصر/عنصر.",
|
|
260
|
+
object: "يجب أن لا يحتوي الحقل :attribute على أكثر من :max عناصر/عنصر."
|
|
261
|
+
},
|
|
262
|
+
min: {
|
|
263
|
+
number: "يجب أن تكون قيمة الحقل :attribute مساوية أو أكبر لـ :min.",
|
|
264
|
+
string: "يجب أن يكون طول نص :attribute على الأقل :min حروفٍ/حرفًا",
|
|
265
|
+
array: "يجب أن يحتوي الحقل :attribute على الأقل على :min عُنصرًا/عناصر",
|
|
266
|
+
object: "يجب أن يحتوي الحقل :attribute على الأقل على :min عُنصرًا/عناصر"
|
|
267
|
+
},
|
|
268
|
+
not_in: "الحقل :attribute غير صالح",
|
|
269
|
+
not_regex: "الحقل :attribute نوعه غير صالح",
|
|
270
|
+
not_includes: "الحقل :attribute يجب ألا يحتوي على أي من القيم التالية: :values.",
|
|
271
|
+
numeric: "يجب على الحقل :attribute أن يكون رقمًا",
|
|
272
|
+
object: "الحقل :attribute يجب ان يكون من نوع object.",
|
|
273
|
+
password: {
|
|
274
|
+
letter: "يجب ان يشمل حقل :attribute على حرف واحد على الاقل.",
|
|
275
|
+
letters: "يجب ان يشمل حقل :attribute على عدد :amount حروف على الاقل.",
|
|
276
|
+
lower_case: "يجب ان يشمل حقل :attribute على حرف واحد من صيغة صغيرة على الاقل.",
|
|
277
|
+
lower_cases: "يجب ان يشمل حقل :attribute على عدد :amount حروف صغيرة على الاقل.",
|
|
278
|
+
number: "يجب ان يشمل حقل :attribute على رقم واحد على الاقل.",
|
|
279
|
+
numbers: "يجب ان يشمل حقل :attribute على عدد :amount من الارقام على الاقل.",
|
|
280
|
+
symbol: "يجب ان يشمل حقل :attribute على رمز واحد على الاقل.",
|
|
281
|
+
symbols: "يجب ان يشمل حقل :attribute على عدد :amount رموز على الاقل.",
|
|
282
|
+
upper_case: "يجب ان يشمل حقل :attribute على حرف كبير واحد على الاقل.",
|
|
283
|
+
upper_cases: "يجب ان يشمل حقل :attribute على عدد :amount حروف كبيرة على الاقل."
|
|
284
|
+
},
|
|
285
|
+
present: "يجب تقديم الحقل :attribute",
|
|
286
|
+
regex: "صيغة الحقل :attribute .غير صحيحة",
|
|
287
|
+
required: "الحقل :attribute مطلوب.",
|
|
288
|
+
required_if: "الحقل :attribute مطلوب في حال ما إذا كان :other يساوي :value.",
|
|
289
|
+
required_unless: "الحقل :attribute مطلوب في حال ما لم يكن :other يساوي :values.",
|
|
290
|
+
required_with: "الحقل :attribute اجباري إذا توفّر :values.",
|
|
291
|
+
required_with_all: "الحقل :attribute اجباري إذا توفّر :values.",
|
|
292
|
+
required_without: "الحقل :attribute اجباري إذا لم يتوفّر :values.",
|
|
293
|
+
required_without_all: "الحقل :attribute اجباري إذا لم يتوفّر :values.",
|
|
294
|
+
starts_with: "الحقل :attribute يجب ان يبدأ بأحد القيم التالية: :values.",
|
|
295
|
+
same: "يجب أن يتطابق الحقل :attribute مع :other",
|
|
296
|
+
size: {
|
|
297
|
+
number: "يجب أن تكون قيمة الحقل :attribute مساوية لـ :size",
|
|
298
|
+
string: "يجب أن يحتوي النص :attribute على :size حروفٍ/حرفًا بالظبط",
|
|
299
|
+
array: "يجب أن يحتوي الحقل :attribute على :size عنصرٍ/عناصر بالظبط",
|
|
300
|
+
object: "يجب أن يحتوي الحقل :attribute على :size عنصرٍ/عناصر بالظبط"
|
|
301
|
+
},
|
|
302
|
+
string: "يجب أن يكون الحقل :attribute نصآ.",
|
|
303
|
+
unique: "الحقل :attribute مستخدم بالفعل.",
|
|
304
|
+
url: "صيغة الرابط :attribute غير صحيحة"
|
|
305
|
+
}
|
|
322
306
|
};
|
|
323
|
-
|
|
324
307
|
//#endregion
|
|
325
308
|
//#region src/utilities/helpers.ts
|
|
326
309
|
/**
|
|
@@ -375,7 +358,6 @@ function deepFindMessage(obj, path) {
|
|
|
375
358
|
}
|
|
376
359
|
return obj;
|
|
377
360
|
}
|
|
378
|
-
|
|
379
361
|
//#endregion
|
|
380
362
|
//#region src/Lang.ts
|
|
381
363
|
var Lang = class {
|
|
@@ -489,7 +471,6 @@ var Lang = class {
|
|
|
489
471
|
this.fallbackMessages = locales_default.en;
|
|
490
472
|
}
|
|
491
473
|
};
|
|
492
|
-
|
|
493
474
|
//#endregion
|
|
494
475
|
//#region src/Rules/IRuleContract.ts
|
|
495
476
|
var IRuleContract = class {
|
|
@@ -541,7 +522,6 @@ var IRuleContract = class {
|
|
|
541
522
|
return message;
|
|
542
523
|
}
|
|
543
524
|
};
|
|
544
|
-
|
|
545
525
|
//#endregion
|
|
546
526
|
//#region src/utilities/date.ts
|
|
547
527
|
/**
|
|
@@ -551,10 +531,12 @@ function toDate(value) {
|
|
|
551
531
|
const date = Date.parse(value);
|
|
552
532
|
return !isNaN(date) ? new Date(date) : null;
|
|
553
533
|
}
|
|
554
|
-
|
|
555
534
|
//#endregion
|
|
556
535
|
//#region src/validators/replaceAttributes.ts
|
|
557
536
|
const replaceAttributes = {
|
|
537
|
+
/**
|
|
538
|
+
* Replace all place-holders for the accepted_if rule.
|
|
539
|
+
*/
|
|
558
540
|
replaceAcceptedIf: function({ data, message, parameters, getDisplayableAttribute }) {
|
|
559
541
|
const [other] = parameters;
|
|
560
542
|
const result = deepFind(data, other);
|
|
@@ -564,19 +546,34 @@ const replaceAttributes = {
|
|
|
564
546
|
};
|
|
565
547
|
return message.replace(/:other|:value/gi, (matched) => values[matched]);
|
|
566
548
|
},
|
|
549
|
+
/**
|
|
550
|
+
* Replace all place-holders for the after rule.
|
|
551
|
+
*/
|
|
567
552
|
replaceAfter: function(payload) {
|
|
568
553
|
return this.replaceBefore(payload);
|
|
569
554
|
},
|
|
555
|
+
/**
|
|
556
|
+
* Replace all place-holders for the after_or_equal rule.
|
|
557
|
+
*/
|
|
570
558
|
replaceAfterOrEqual: function(payload) {
|
|
571
559
|
return this.replaceBefore(payload);
|
|
572
560
|
},
|
|
561
|
+
/**
|
|
562
|
+
* Replace all place-holders for the before rule.
|
|
563
|
+
*/
|
|
573
564
|
replaceBefore: function({ message, parameters, getDisplayableAttribute }) {
|
|
574
565
|
if (!toDate(parameters[0])) return message.replace(":date", getDisplayableAttribute(parameters[0]));
|
|
575
566
|
return message.replace(":date", parameters[0]);
|
|
576
567
|
},
|
|
568
|
+
/**
|
|
569
|
+
* Replace all place-holders for the before_or_equal rule.
|
|
570
|
+
*/
|
|
577
571
|
replaceBeforeOrEqual: function(payload) {
|
|
578
572
|
return this.replaceBefore(payload);
|
|
579
573
|
},
|
|
574
|
+
/**
|
|
575
|
+
* Replace all the place-holders for the between rule.
|
|
576
|
+
*/
|
|
580
577
|
replaceBetween: function({ message, parameters }) {
|
|
581
578
|
const values = {
|
|
582
579
|
":min": parameters[0],
|
|
@@ -584,12 +581,21 @@ const replaceAttributes = {
|
|
|
584
581
|
};
|
|
585
582
|
return message.replace(/:min|:max/gi, (matched) => values[matched]);
|
|
586
583
|
},
|
|
584
|
+
/**
|
|
585
|
+
* Replace all place-holders for the before_or_equal rule.
|
|
586
|
+
*/
|
|
587
587
|
replaceDateEquals: function(payload) {
|
|
588
588
|
return this.replaceBefore(payload);
|
|
589
589
|
},
|
|
590
|
+
/**
|
|
591
|
+
* Replace all place-holders for the datetime rule.
|
|
592
|
+
*/
|
|
590
593
|
replaceDatetime: function({ message, parameters }) {
|
|
591
594
|
return message.replace(":format", parameters[0]);
|
|
592
595
|
},
|
|
596
|
+
/**
|
|
597
|
+
* Replace all place-holders for the declined_if rule.
|
|
598
|
+
*/
|
|
593
599
|
replaceDeclinedIf: function({ message, parameters, data, getDisplayableAttribute }) {
|
|
594
600
|
const [other] = parameters;
|
|
595
601
|
const result = deepFind(data, other);
|
|
@@ -599,66 +605,126 @@ const replaceAttributes = {
|
|
|
599
605
|
};
|
|
600
606
|
return message.replace(/:other|:value/gi, (matched) => values[matched]);
|
|
601
607
|
},
|
|
608
|
+
/**
|
|
609
|
+
* Replace all place-holders for the different rule.
|
|
610
|
+
*/
|
|
602
611
|
replaceDifferent: function(payload) {
|
|
603
612
|
return this.replaceSame(payload);
|
|
604
613
|
},
|
|
614
|
+
/**
|
|
615
|
+
* Replace all place-holders for the digits rule.
|
|
616
|
+
*/
|
|
605
617
|
replaceDigits: function({ message, parameters }) {
|
|
606
618
|
return message.replace(":digits", parameters[0]);
|
|
607
619
|
},
|
|
620
|
+
/**
|
|
621
|
+
* Replace all place-holders for the digits (between) rule.
|
|
622
|
+
*/
|
|
608
623
|
replaceDigitsBetween: function(payload) {
|
|
609
624
|
return this.replaceBetween(payload);
|
|
610
625
|
},
|
|
626
|
+
/**
|
|
627
|
+
* Replace all place-holders for the ends_with rule.
|
|
628
|
+
*/
|
|
611
629
|
replaceEndsWith: function({ message, parameters }) {
|
|
612
630
|
return message.replace(":values", parameters.join(", "));
|
|
613
631
|
},
|
|
632
|
+
/**
|
|
633
|
+
* Replace all place-holders for the exists rule.
|
|
634
|
+
*/
|
|
614
635
|
replaceExists: function({ message, parameters, data }) {
|
|
615
636
|
return message.replace(":value", data[parameters[1]]);
|
|
616
637
|
},
|
|
638
|
+
/**
|
|
639
|
+
* Replace all place-holders for the in rule.
|
|
640
|
+
*/
|
|
617
641
|
replaceIn: function({ message, parameters }) {
|
|
618
642
|
return message.replace(":values", parameters.join(", "));
|
|
619
643
|
},
|
|
644
|
+
/**
|
|
645
|
+
* Replace all place-holders for the not_includes rule.
|
|
646
|
+
*/
|
|
620
647
|
replaceIncludes: function({ message, parameters }) {
|
|
621
648
|
return message.replace(":values", parameters.join(", "));
|
|
622
649
|
},
|
|
650
|
+
/**
|
|
651
|
+
* Replace all place-holders for the starts_with rule.
|
|
652
|
+
*/
|
|
623
653
|
replaceStartsWith: function({ message, parameters }) {
|
|
624
654
|
return message.replace(":values", parameters.join(", "));
|
|
625
655
|
},
|
|
656
|
+
/**
|
|
657
|
+
* Replace all place-holders for the min rule.
|
|
658
|
+
*/
|
|
626
659
|
replaceMin: function({ message, parameters }) {
|
|
627
660
|
return message.replace(":min", parameters[0]);
|
|
628
661
|
},
|
|
662
|
+
/**
|
|
663
|
+
* Replace all place-holders for the max rule.
|
|
664
|
+
*/
|
|
629
665
|
replaceMax: function({ message, parameters }) {
|
|
630
666
|
return message.replace(":max", parameters[0]);
|
|
631
667
|
},
|
|
668
|
+
/**
|
|
669
|
+
* Replace all place-holders for the not_includes rule.
|
|
670
|
+
*/
|
|
632
671
|
replaceNotIncludes: function({ message, parameters }) {
|
|
633
672
|
return message.replace(":values", parameters.join(", "));
|
|
634
673
|
},
|
|
674
|
+
/**
|
|
675
|
+
* Replace all place-holders for the required_with rule.
|
|
676
|
+
*/
|
|
635
677
|
replaceRequiredWith: function({ message, parameters, getDisplayableAttribute }) {
|
|
636
678
|
return message.replace(":values", parameters.map((attribute) => getDisplayableAttribute(attribute)).join(", "));
|
|
637
679
|
},
|
|
680
|
+
/**
|
|
681
|
+
* Replace all place-holders for the required_with_all rule.
|
|
682
|
+
*/
|
|
638
683
|
replaceRequiredWithAll: function(payload) {
|
|
639
684
|
return this.replaceRequiredWith(payload);
|
|
640
685
|
},
|
|
686
|
+
/**
|
|
687
|
+
* Replace all place-holders for the required_without rule.
|
|
688
|
+
*/
|
|
641
689
|
replaceRequiredWithout: function(payload) {
|
|
642
690
|
return this.replaceRequiredWith(payload);
|
|
643
691
|
},
|
|
692
|
+
/**
|
|
693
|
+
* Replace all place-holders for the required_without_all rule.
|
|
694
|
+
*/
|
|
644
695
|
replaceRequiredWithoutAll: function(payload) {
|
|
645
696
|
return this.replaceRequiredWith(payload);
|
|
646
697
|
},
|
|
698
|
+
/**
|
|
699
|
+
* Replace all place-holders for the gt rule.
|
|
700
|
+
*/
|
|
647
701
|
replaceGt: function({ message, parameters, data, hasNumericRule }) {
|
|
648
702
|
const [value] = parameters;
|
|
649
703
|
const result = deepFind(data, value);
|
|
650
704
|
if (typeof result === "undefined") return message.replace(":value", value);
|
|
651
705
|
return message.replace(":value", getSize(result, hasNumericRule).toString());
|
|
652
706
|
},
|
|
707
|
+
/**
|
|
708
|
+
* Replace all place-holders for the lt rule.
|
|
709
|
+
*/
|
|
653
710
|
replaceLt: function(payload) {
|
|
654
711
|
return this.replaceGt(payload);
|
|
655
712
|
},
|
|
713
|
+
/**
|
|
714
|
+
* Replace all place-holders for the gte rule.
|
|
715
|
+
*/
|
|
656
716
|
replaceGte: function(payload) {
|
|
657
717
|
return this.replaceGt(payload);
|
|
658
718
|
},
|
|
719
|
+
/**
|
|
720
|
+
* Replace all place-holders for the lte rule.
|
|
721
|
+
*/
|
|
659
722
|
replaceLte: function(payload) {
|
|
660
723
|
return this.replaceGt(payload);
|
|
661
724
|
},
|
|
725
|
+
/**
|
|
726
|
+
* Replace all place-holders for the required_if rule.
|
|
727
|
+
*/
|
|
662
728
|
replaceRequiredIf: function({ message, parameters, data, getDisplayableAttribute }) {
|
|
663
729
|
const [other] = parameters;
|
|
664
730
|
const result = deepFind(data, other);
|
|
@@ -668,12 +734,21 @@ const replaceAttributes = {
|
|
|
668
734
|
};
|
|
669
735
|
return message.replace(/:other|:value/gi, (matched) => values[matched]);
|
|
670
736
|
},
|
|
737
|
+
/**
|
|
738
|
+
* Replace all place-holders for the prohibited_unless rule.
|
|
739
|
+
*/
|
|
671
740
|
replaceProhibitedUnless: function(payload) {
|
|
672
741
|
return this.replaceRequiredUnless(payload);
|
|
673
742
|
},
|
|
743
|
+
/**
|
|
744
|
+
* Replace all place-holders for the prohibits rule.
|
|
745
|
+
*/
|
|
674
746
|
replaceProhibits: function({ message, parameters, getDisplayableAttribute }) {
|
|
675
747
|
return message.replace(":values", parameters.map((attribute) => getDisplayableAttribute(attribute)).join(", "));
|
|
676
748
|
},
|
|
749
|
+
/**
|
|
750
|
+
* Replace all the place-holders for the required_unless rule.
|
|
751
|
+
*/
|
|
677
752
|
replaceRequiredUnless: function({ message, parameters, getDisplayableAttribute }) {
|
|
678
753
|
const [other] = parameters;
|
|
679
754
|
const values = {
|
|
@@ -682,23 +757,41 @@ const replaceAttributes = {
|
|
|
682
757
|
};
|
|
683
758
|
return message.replace(/:other|:values/gi, (matched) => values[matched]);
|
|
684
759
|
},
|
|
760
|
+
/**
|
|
761
|
+
* Replace all place-holders for the same rule.
|
|
762
|
+
*/
|
|
685
763
|
replaceSame: function({ message, parameters, getDisplayableAttribute }) {
|
|
686
764
|
return message.replace(":other", getDisplayableAttribute(parameters[0]));
|
|
687
765
|
},
|
|
766
|
+
/**
|
|
767
|
+
* Replace all place-holders for the size rule.
|
|
768
|
+
*/
|
|
688
769
|
replaceSize: function({ message, parameters }) {
|
|
689
770
|
return message.replace(":size", parameters[0]);
|
|
690
771
|
},
|
|
772
|
+
/**
|
|
773
|
+
* Replace all place-holders for the multiple_of rule.
|
|
774
|
+
*/
|
|
691
775
|
replaceMultipleOf: function({ message, parameters }) {
|
|
692
776
|
return message.replace(":value", parameters[0]);
|
|
693
777
|
},
|
|
778
|
+
/**
|
|
779
|
+
* Replace all place-holders for the unique rule.
|
|
780
|
+
*/
|
|
694
781
|
replaceUnique: function({ message, parameters, data }) {
|
|
695
782
|
return message.replace(":value", data[parameters[1]]);
|
|
696
783
|
}
|
|
697
784
|
};
|
|
698
|
-
|
|
699
785
|
//#endregion
|
|
700
786
|
//#region src/validators/validationData.ts
|
|
701
787
|
const validationData = {
|
|
788
|
+
/**
|
|
789
|
+
* initialize and gather data for the given attribute.
|
|
790
|
+
*
|
|
791
|
+
* @param attribute
|
|
792
|
+
* @param masterData
|
|
793
|
+
* @returns
|
|
794
|
+
*/
|
|
702
795
|
initializeAndGatherData: function(attribute, masterData) {
|
|
703
796
|
const data = dotify(this.initializeAttributeOnData(attribute, masterData));
|
|
704
797
|
return {
|
|
@@ -706,6 +799,13 @@ const validationData = {
|
|
|
706
799
|
...this.extractValuesFromWildCards(masterData, data, attribute)
|
|
707
800
|
};
|
|
708
801
|
},
|
|
802
|
+
/**
|
|
803
|
+
* Gather a copy of the attribute data filled with any missing attributes.
|
|
804
|
+
*
|
|
805
|
+
* @param attribute
|
|
806
|
+
* @param masterData
|
|
807
|
+
* @returns
|
|
808
|
+
*/
|
|
709
809
|
initializeAttributeOnData: function(attribute, masterData) {
|
|
710
810
|
const explicitPath = this.getLeadingExplicitAttributePath(attribute);
|
|
711
811
|
const data = this.extractDataFromPath(explicitPath, JSON.parse(JSON.stringify(masterData)));
|
|
@@ -713,6 +813,14 @@ const validationData = {
|
|
|
713
813
|
deepSet(data, attribute, null);
|
|
714
814
|
return data;
|
|
715
815
|
},
|
|
816
|
+
/**
|
|
817
|
+
* Get all of the exact attribute values for a given wildcard attribute.
|
|
818
|
+
*
|
|
819
|
+
* @param masterData
|
|
820
|
+
* @param data
|
|
821
|
+
* @param attribute
|
|
822
|
+
* @returns
|
|
823
|
+
*/
|
|
716
824
|
extractValuesFromWildCards(masterData, data, attribute) {
|
|
717
825
|
const keys = [];
|
|
718
826
|
const pattern = new RegExp("^" + attribute.replace(/\*/g, "[^\\.]*"));
|
|
@@ -725,9 +833,22 @@ const validationData = {
|
|
|
725
833
|
keys.forEach((key) => data[key] = deepFind(masterData, key));
|
|
726
834
|
return data;
|
|
727
835
|
},
|
|
836
|
+
/**
|
|
837
|
+
* Get the explicit part of the attribute name - ex: 'foo.bar.*.baz' -> 'foo.bar'
|
|
838
|
+
*
|
|
839
|
+
* @param attribute
|
|
840
|
+
* @returns
|
|
841
|
+
*/
|
|
728
842
|
getLeadingExplicitAttributePath: function(attribute) {
|
|
729
843
|
return attribute.split("*")[0].replace(/\.$/, "");
|
|
730
844
|
},
|
|
845
|
+
/**
|
|
846
|
+
* Extract data based on the given dot-notated path.
|
|
847
|
+
*
|
|
848
|
+
* @param path
|
|
849
|
+
* @param masterData
|
|
850
|
+
* @returns
|
|
851
|
+
*/
|
|
731
852
|
extractDataFromPath(path, masterData) {
|
|
732
853
|
const results = {};
|
|
733
854
|
const value = deepFind(masterData, path);
|
|
@@ -735,7 +856,6 @@ const validationData = {
|
|
|
735
856
|
return results;
|
|
736
857
|
}
|
|
737
858
|
};
|
|
738
|
-
|
|
739
859
|
//#endregion
|
|
740
860
|
//#region src/Rules/closureValidationRule.ts
|
|
741
861
|
var ClosureValidationRule = class extends IRuleContract {
|
|
@@ -764,10 +884,16 @@ var ClosureValidationRule = class extends IRuleContract {
|
|
|
764
884
|
return !this.failed;
|
|
765
885
|
}
|
|
766
886
|
};
|
|
767
|
-
|
|
768
887
|
//#endregion
|
|
769
888
|
//#region src/validators/validationRuleParser.ts
|
|
770
889
|
const validationRuleParser = {
|
|
890
|
+
/**
|
|
891
|
+
* Convert rules to array
|
|
892
|
+
*
|
|
893
|
+
* @param rules
|
|
894
|
+
* @param data
|
|
895
|
+
* @returns
|
|
896
|
+
*/
|
|
771
897
|
explodeRules: function(rules, data = {}) {
|
|
772
898
|
const implicitAttributes = {};
|
|
773
899
|
for (const key in rules) if (key.indexOf("*") !== -1) {
|
|
@@ -780,6 +906,15 @@ const validationRuleParser = {
|
|
|
780
906
|
implicitAttributes
|
|
781
907
|
};
|
|
782
908
|
},
|
|
909
|
+
/**
|
|
910
|
+
* Define a set of rules that apply to each element in an array attribute.
|
|
911
|
+
*
|
|
912
|
+
* @param results
|
|
913
|
+
* @param attribute
|
|
914
|
+
* @param masterData
|
|
915
|
+
* @param implicitAttributes
|
|
916
|
+
* @returns
|
|
917
|
+
*/
|
|
783
918
|
explodeWildCardRules: function(results, attribute, masterData, implicitAttributes) {
|
|
784
919
|
const pattern = new RegExp("^" + attribute.replace(/\*/g, "[^.]*") + "$");
|
|
785
920
|
const data = validationData.initializeAndGatherData(attribute, masterData);
|
|
@@ -791,25 +926,45 @@ const validationRuleParser = {
|
|
|
791
926
|
}
|
|
792
927
|
return results;
|
|
793
928
|
},
|
|
929
|
+
/**
|
|
930
|
+
* Merge additional rules into a given attribute.
|
|
931
|
+
*
|
|
932
|
+
* @param results
|
|
933
|
+
* @param attribute
|
|
934
|
+
* @param rules
|
|
935
|
+
* @returns
|
|
936
|
+
*/
|
|
794
937
|
mergeRulesForAttribute(results, attribute, rules) {
|
|
795
938
|
const merge = this.explodeRules([rules]).rules[0];
|
|
796
939
|
results[attribute] = [...results[attribute] ? this.explodeExplicitRules(results[attribute]) : [], ...merge];
|
|
797
940
|
return results;
|
|
798
941
|
},
|
|
942
|
+
/**
|
|
943
|
+
* In case the rules specified by the user are a string seperated with '|' - convert them to an array
|
|
944
|
+
*/
|
|
799
945
|
explodeExplicitRules: function(rules) {
|
|
800
946
|
if (typeof rules === "string") return rules.split("|");
|
|
801
947
|
if (!Array.isArray(rules)) return [this.prepareRule(rules)];
|
|
802
948
|
return rules.map((rule) => this.prepareRule(rule));
|
|
803
949
|
},
|
|
950
|
+
/**
|
|
951
|
+
* Prepare the given rule for the Validator.
|
|
952
|
+
*/
|
|
804
953
|
prepareRule(rule) {
|
|
805
954
|
if (rule instanceof IRuleContract) return rule;
|
|
806
955
|
if (typeof rule === "function") return new ClosureValidationRule(rule);
|
|
807
956
|
return rule.toString();
|
|
808
957
|
},
|
|
958
|
+
/**
|
|
959
|
+
* Extract the rule name and parameters from a rule.
|
|
960
|
+
*/
|
|
809
961
|
parse(rule) {
|
|
810
962
|
if (rule instanceof IRuleContract) return [rule, []];
|
|
811
963
|
return this.parseStringRule(rule);
|
|
812
964
|
},
|
|
965
|
+
/**
|
|
966
|
+
* Parse the parameters associated with a rule
|
|
967
|
+
*/
|
|
813
968
|
parseStringRule: function(rule) {
|
|
814
969
|
let parameters = [];
|
|
815
970
|
let parameter;
|
|
@@ -819,6 +974,14 @@ const validationRuleParser = {
|
|
|
819
974
|
}
|
|
820
975
|
return [rule, parameters];
|
|
821
976
|
},
|
|
977
|
+
/**
|
|
978
|
+
* Get a rule and its parameters for a given attribute.
|
|
979
|
+
*
|
|
980
|
+
* @param attribute
|
|
981
|
+
* @param searchRules
|
|
982
|
+
* @param availableRules
|
|
983
|
+
* @returns
|
|
984
|
+
*/
|
|
822
985
|
getRule: function(attribute, searchRules, availableRules) {
|
|
823
986
|
if (!availableRules[attribute]) return [];
|
|
824
987
|
searchRules = Array.isArray(searchRules) ? searchRules : [searchRules];
|
|
@@ -828,11 +991,13 @@ const validationRuleParser = {
|
|
|
828
991
|
}
|
|
829
992
|
return [];
|
|
830
993
|
},
|
|
994
|
+
/**
|
|
995
|
+
* Determine if the given attribute has a rule in the given set of available rules.
|
|
996
|
+
*/
|
|
831
997
|
hasRule: function(attribute, searchRules, availableRules) {
|
|
832
998
|
return this.getRule(attribute, searchRules, availableRules).length > 0;
|
|
833
999
|
}
|
|
834
1000
|
};
|
|
835
|
-
|
|
836
1001
|
//#endregion
|
|
837
1002
|
//#region src/validators/validateAttributes.ts
|
|
838
1003
|
var validateAttributes = class {
|
|
@@ -1436,7 +1601,7 @@ var validateAttributes = class {
|
|
|
1436
1601
|
*/
|
|
1437
1602
|
validateUrl(value) {
|
|
1438
1603
|
if (typeof value !== "string") return false;
|
|
1439
|
-
return new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|localhost|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$", "i").test(value);
|
|
1604
|
+
return (/* @__PURE__ */ new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|localhost|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$", "i")).test(value);
|
|
1440
1605
|
}
|
|
1441
1606
|
/**
|
|
1442
1607
|
* Determine if a comparison passes between the given values.
|
|
@@ -1519,7 +1684,6 @@ var validateAttributes = class {
|
|
|
1519
1684
|
return stringValue.split(".")[1]?.length ?? 0;
|
|
1520
1685
|
}
|
|
1521
1686
|
};
|
|
1522
|
-
|
|
1523
1687
|
//#endregion
|
|
1524
1688
|
//#region src/Rules/registerRule.ts
|
|
1525
1689
|
function register(rule, validate, replaceMessage) {
|
|
@@ -1532,7 +1696,6 @@ function register(rule, validate, replaceMessage) {
|
|
|
1532
1696
|
function registerImplicit(rule, validate, replaceMessage) {
|
|
1533
1697
|
if (register(rule, validate, replaceMessage) === true) addImplicitRule(rule);
|
|
1534
1698
|
}
|
|
1535
|
-
|
|
1536
1699
|
//#endregion
|
|
1537
1700
|
//#region src/Plugin.ts
|
|
1538
1701
|
const valueInspectors = [];
|
|
@@ -1576,7 +1739,6 @@ function getValidationSize(value, hasNumericRule = false) {
|
|
|
1576
1739
|
if (typeof value === "object" && value !== null) return Object.keys(value).length;
|
|
1577
1740
|
return -1;
|
|
1578
1741
|
}
|
|
1579
|
-
|
|
1580
1742
|
//#endregion
|
|
1581
1743
|
//#region src/utilities/general.ts
|
|
1582
1744
|
const implicitRues = [
|
|
@@ -1710,7 +1872,6 @@ function convertValuesToNull(values) {
|
|
|
1710
1872
|
return value;
|
|
1711
1873
|
});
|
|
1712
1874
|
}
|
|
1713
|
-
|
|
1714
1875
|
//#endregion
|
|
1715
1876
|
//#region src/utilities/object.ts
|
|
1716
1877
|
/**
|
|
@@ -1787,7 +1948,6 @@ function deepEqual(firstParam, secondParam) {
|
|
|
1787
1948
|
if (Object.keys(first).length !== Object.keys(second).length) return false;
|
|
1788
1949
|
return Object.entries(first).every(([key, value]) => second[key] === value);
|
|
1789
1950
|
}
|
|
1790
|
-
|
|
1791
1951
|
//#endregion
|
|
1792
1952
|
//#region src/utilities/formatMessages.ts
|
|
1793
1953
|
/**
|
|
@@ -1873,7 +2033,6 @@ function getPrimaryKeyFromPath(path) {
|
|
|
1873
2033
|
if (isNaN(parseInt(key)) === false) return getPrimaryKeyFromPath(splittedPath.join("."));
|
|
1874
2034
|
return key;
|
|
1875
2035
|
}
|
|
1876
|
-
|
|
1877
2036
|
//#endregion
|
|
1878
2037
|
//#region src/validators/errorBag.ts
|
|
1879
2038
|
var ErrorBag = class ErrorBag {
|
|
@@ -1982,7 +2141,6 @@ var ErrorBag = class ErrorBag {
|
|
|
1982
2141
|
return new ErrorBag({ ...this.errors }, { ...this.messages }, this.firstMessage, this.withErrorTypes);
|
|
1983
2142
|
}
|
|
1984
2143
|
};
|
|
1985
|
-
|
|
1986
2144
|
//#endregion
|
|
1987
2145
|
//#region src/Rules/password.ts
|
|
1988
2146
|
var Password$1 = class Password$1 extends IRuleContract {
|
|
@@ -2173,14 +2331,12 @@ var Password$1 = class Password$1 extends IRuleContract {
|
|
|
2173
2331
|
return password instanceof IRuleContract ? password : Password$1.create().min(8);
|
|
2174
2332
|
}
|
|
2175
2333
|
};
|
|
2176
|
-
|
|
2177
2334
|
//#endregion
|
|
2178
2335
|
//#region src/utilities/build.ts
|
|
2179
2336
|
function buildValidationMethodName(rule) {
|
|
2180
2337
|
if (!rule) return rule;
|
|
2181
2338
|
return rule.split("_").map((rule) => `${rule[0].toUpperCase()}${rule.slice(1)}`).join("");
|
|
2182
2339
|
}
|
|
2183
|
-
|
|
2184
2340
|
//#endregion
|
|
2185
2341
|
//#region src/payloads/replaceAttributePayload.ts
|
|
2186
2342
|
var replaceAttributePayload = class {
|
|
@@ -2212,7 +2368,6 @@ var replaceAttributePayload = class {
|
|
|
2212
2368
|
this.getDisplayableAttribute = getDisplayableAttribute;
|
|
2213
2369
|
}
|
|
2214
2370
|
};
|
|
2215
|
-
|
|
2216
2371
|
//#endregion
|
|
2217
2372
|
//#region src/BaseValidator.ts
|
|
2218
2373
|
var BaseValidator = class BaseValidator {
|
|
@@ -2689,11 +2844,9 @@ var BaseValidator = class BaseValidator {
|
|
|
2689
2844
|
return [];
|
|
2690
2845
|
}
|
|
2691
2846
|
};
|
|
2692
|
-
|
|
2693
2847
|
//#endregion
|
|
2694
2848
|
//#region src/Contracts/IDatabaseDriver.ts
|
|
2695
2849
|
var IDatabaseDriver = class {};
|
|
2696
|
-
|
|
2697
2850
|
//#endregion
|
|
2698
2851
|
//#region src/Rules/in.ts
|
|
2699
2852
|
var In = class extends BaseRule {
|
|
@@ -2719,7 +2872,6 @@ var In = class extends BaseRule {
|
|
|
2719
2872
|
return `${this.rule}:${this.values.join(",")}`;
|
|
2720
2873
|
}
|
|
2721
2874
|
};
|
|
2722
|
-
|
|
2723
2875
|
//#endregion
|
|
2724
2876
|
//#region src/Rules/notIn.ts
|
|
2725
2877
|
var NotIn = class extends BaseRule {
|
|
@@ -2745,7 +2897,6 @@ var NotIn = class extends BaseRule {
|
|
|
2745
2897
|
return `${this.rule}:${this.values.join(",")}`;
|
|
2746
2898
|
}
|
|
2747
2899
|
};
|
|
2748
|
-
|
|
2749
2900
|
//#endregion
|
|
2750
2901
|
//#region src/Rules/regex.ts
|
|
2751
2902
|
var Regex = class extends IRuleContract {
|
|
@@ -2771,7 +2922,6 @@ var Regex = class extends IRuleContract {
|
|
|
2771
2922
|
return this.trans("not_regex");
|
|
2772
2923
|
}
|
|
2773
2924
|
};
|
|
2774
|
-
|
|
2775
2925
|
//#endregion
|
|
2776
2926
|
//#region src/Rules/requiredIf.ts
|
|
2777
2927
|
var RequiredIf = class extends BaseRule {
|
|
@@ -2794,7 +2944,6 @@ var RequiredIf = class extends BaseRule {
|
|
|
2794
2944
|
return this.condition ? "required" : "";
|
|
2795
2945
|
}
|
|
2796
2946
|
};
|
|
2797
|
-
|
|
2798
2947
|
//#endregion
|
|
2799
2948
|
//#region src/rule.ts
|
|
2800
2949
|
function requiredIf(callback) {
|
|
@@ -2812,32 +2961,29 @@ function regex(value) {
|
|
|
2812
2961
|
function notRegex(value) {
|
|
2813
2962
|
return new Regex(value, false);
|
|
2814
2963
|
}
|
|
2815
|
-
|
|
2816
2964
|
//#endregion
|
|
2817
2965
|
//#region src/Core.ts
|
|
2818
2966
|
var Password = class extends Password$1 {};
|
|
2819
2967
|
function make(data = {}, rules = {}, customMessages = {}, customAttributes = {}) {
|
|
2820
2968
|
return new BaseValidator(data, rules, customMessages, customAttributes);
|
|
2821
2969
|
}
|
|
2822
|
-
|
|
2823
2970
|
//#endregion
|
|
2824
2971
|
//#region src/Rules/IImplicitRule.ts
|
|
2825
2972
|
var IImplicitRule = class extends IRuleContract {
|
|
2826
2973
|
__isImplicitRule = true;
|
|
2827
2974
|
};
|
|
2828
|
-
|
|
2829
2975
|
//#endregion
|
|
2830
2976
|
//#region src/ImplicitRule.ts
|
|
2831
2977
|
var ImplicitRule = class extends IImplicitRule {
|
|
2832
2978
|
rules = [];
|
|
2833
2979
|
};
|
|
2834
|
-
|
|
2835
2980
|
//#endregion
|
|
2836
2981
|
//#region src/Providers/ValidationServiceProvider.ts
|
|
2837
2982
|
/**
|
|
2838
2983
|
* Service provider for Validation utilities
|
|
2839
2984
|
*/
|
|
2840
2985
|
var ValidationServiceProvider = class {
|
|
2986
|
+
app;
|
|
2841
2987
|
registeredCommands;
|
|
2842
2988
|
static priority = 895;
|
|
2843
2989
|
constructor(app) {
|
|
@@ -2852,7 +2998,6 @@ var ValidationServiceProvider = class {
|
|
|
2852
2998
|
*/
|
|
2853
2999
|
boot() {}
|
|
2854
3000
|
};
|
|
2855
|
-
|
|
2856
3001
|
//#endregion
|
|
2857
3002
|
//#region src/ValidationRule.ts
|
|
2858
3003
|
var ValidationRule = class extends IRuleContract {
|
|
@@ -2873,7 +3018,6 @@ var ValidationRule = class extends IRuleContract {
|
|
|
2873
3018
|
return this.passing;
|
|
2874
3019
|
}
|
|
2875
3020
|
};
|
|
2876
|
-
|
|
2877
3021
|
//#endregion
|
|
2878
3022
|
//#region src/Rules/ExtendedRules.ts
|
|
2879
3023
|
dayjs.default.extend(dayjs_plugin_customParseFormat_js.default);
|
|
@@ -2983,7 +3127,6 @@ var ExtendedRules = class extends ValidationRule {
|
|
|
2983
3127
|
];
|
|
2984
3128
|
validate() {}
|
|
2985
3129
|
};
|
|
2986
|
-
|
|
2987
3130
|
//#endregion
|
|
2988
3131
|
//#region src/utilities/MessageBag.ts
|
|
2989
3132
|
var MessageBag = class {
|
|
@@ -3197,7 +3340,6 @@ var MessageBag = class {
|
|
|
3197
3340
|
return this.toJson();
|
|
3198
3341
|
}
|
|
3199
3342
|
};
|
|
3200
|
-
|
|
3201
3343
|
//#endregion
|
|
3202
3344
|
//#region src/Validator.ts
|
|
3203
3345
|
var Validator = class Validator {
|
|
@@ -3480,7 +3622,6 @@ var Validator = class Validator {
|
|
|
3480
3622
|
return this;
|
|
3481
3623
|
}
|
|
3482
3624
|
};
|
|
3483
|
-
|
|
3484
3625
|
//#endregion
|
|
3485
3626
|
//#region src/ValidationException.ts
|
|
3486
3627
|
var ValidationException = class ValidationException extends Error {
|
|
@@ -3568,7 +3709,6 @@ var ValidationException = class ValidationException extends Error {
|
|
|
3568
3709
|
return this.response;
|
|
3569
3710
|
}
|
|
3570
3711
|
};
|
|
3571
|
-
|
|
3572
3712
|
//#endregion
|
|
3573
3713
|
exports.BaseRule = BaseRule;
|
|
3574
3714
|
exports.BaseValidator = BaseValidator;
|
|
@@ -3627,4 +3767,4 @@ exports.sameType = sameType;
|
|
|
3627
3767
|
exports.toDate = toDate;
|
|
3628
3768
|
exports.toSnakeCase = toSnakeCase;
|
|
3629
3769
|
exports.usePlugin = usePlugin;
|
|
3630
|
-
exports.useValidatorContext = useValidatorContext;
|
|
3770
|
+
exports.useValidatorContext = useValidatorContext;
|