kanun 1.0.13 → 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.js
CHANGED
|
@@ -3,7 +3,6 @@ import { domainToASCII } from "node:url";
|
|
|
3
3
|
import { isIP } from "node:net";
|
|
4
4
|
import customParseFormat from "dayjs/plugin/customParseFormat.js";
|
|
5
5
|
import dayjs from "dayjs";
|
|
6
|
-
|
|
7
6
|
//#region src/Context.ts
|
|
8
7
|
const validatorContextStorage = new AsyncLocalStorage();
|
|
9
8
|
/**
|
|
@@ -42,255 +41,244 @@ function runWithValidatorContext(context, callback) {
|
|
|
42
41
|
...context
|
|
43
42
|
}, callback);
|
|
44
43
|
}
|
|
45
|
-
|
|
46
44
|
//#endregion
|
|
47
45
|
//#region src/Rules/baseRule.ts
|
|
48
46
|
var BaseRule = class {};
|
|
49
|
-
|
|
50
|
-
//#endregion
|
|
51
|
-
//#region src/locales/en.ts
|
|
52
|
-
var en_default = {
|
|
53
|
-
accepted: "The :attribute must be accepted.",
|
|
54
|
-
accepted_if: "The :attribute must be accepted when :other is :value.",
|
|
55
|
-
after: "The :attribute must be a date after :date.",
|
|
56
|
-
after_or_equal: "The :attribute must be a date after or equal to :date.",
|
|
57
|
-
alpha: "The :attribute must only contain letters.",
|
|
58
|
-
alpha_dash: "The :attribute must only contain at least one letter or one number, and optionally dashes and underscores.",
|
|
59
|
-
alpha_num: "The :attribute must only contain letters and numbers.",
|
|
60
|
-
array: "The :attribute must be an array.",
|
|
61
|
-
array_unique: "The :attribute must be an array with unique values.",
|
|
62
|
-
before: "The :attribute must be a date before :date.",
|
|
63
|
-
before_or_equal: "The :attribute must be a date before or equal to :date.",
|
|
64
|
-
between: {
|
|
65
|
-
number: "The :attribute must be between :min and :max.",
|
|
66
|
-
string: "The :attribute must be between :min and :max characters.",
|
|
67
|
-
array: "The :attribute must have between :min and :max items.",
|
|
68
|
-
object: "The :attribute must have between :min and :max items."
|
|
69
|
-
},
|
|
70
|
-
boolean: "The :attribute field must be true or false.",
|
|
71
|
-
confirmed: "The :attribute confirmation does not match.",
|
|
72
|
-
date: "The :attribute is not a valid date.",
|
|
73
|
-
datetime: "The :attribute must be a valid date matching the format :format.",
|
|
74
|
-
date_equals: "The :attribute must be a date equal to :date.",
|
|
75
|
-
declined: "The :attribute must be declined.",
|
|
76
|
-
declined_if: "The :attribute must be declined when :other is :value.",
|
|
77
|
-
different: "The :attribute and :other must be different.",
|
|
78
|
-
distinct: "The :attribute field has a duplicate value.",
|
|
79
|
-
digits: "The :attribute must be :digits digits.",
|
|
80
|
-
digits_between: "The :attribute must be between :min and :max digits.",
|
|
81
|
-
email: "The :attribute must be a valid email address.",
|
|
82
|
-
ends_with: "The :attribute must end with one of the following: :values.",
|
|
83
|
-
filled: "The :attribute field must have a value.",
|
|
84
|
-
exists: "The selected :attribute is invalid.",
|
|
85
|
-
gt: {
|
|
86
|
-
number: "The :attribute must be greater than :value.",
|
|
87
|
-
string: "The :attribute must be greater than :value characters.",
|
|
88
|
-
array: "The :attribute must have more than :value items.",
|
|
89
|
-
object: "The :attribute must have more than :value items."
|
|
90
|
-
},
|
|
91
|
-
gte: {
|
|
92
|
-
number: "The :attribute must be greater than or equal :value.",
|
|
93
|
-
string: "The :attribute must be greater than or equal :value characters.",
|
|
94
|
-
array: "The :attribute must have :value items or more.",
|
|
95
|
-
object: "The :attribute must have :value items or more."
|
|
96
|
-
},
|
|
97
|
-
hex: "The :attribute must be a valid hexadecimal color.",
|
|
98
|
-
in: "The :attribute must be one of the following :values.",
|
|
99
|
-
includes: "The :attribute must include one of the following values: :values.",
|
|
100
|
-
integer: "The :attribute must be an integer.",
|
|
101
|
-
ip: "The :attribute must be a valid IP address.",
|
|
102
|
-
ipv4: "The :attribute must be a valid IPv4 address.",
|
|
103
|
-
ipv6: "The :attribute must be a valid IPv6 address.",
|
|
104
|
-
json: "The :attribute must be a valid JSON string.",
|
|
105
|
-
lt: {
|
|
106
|
-
number: "The :attribute must be less than :value.",
|
|
107
|
-
string: "The :attribute must be less than :value characters.",
|
|
108
|
-
array: "The :attribute must have less than :value items.",
|
|
109
|
-
object: "The :attribute must have less than :value items."
|
|
110
|
-
},
|
|
111
|
-
lte: {
|
|
112
|
-
number: "The :attribute must be less than or equal :value.",
|
|
113
|
-
string: "The :attribute must be less than or equal :value characters.",
|
|
114
|
-
array: "The :attribute must have :value items or less.",
|
|
115
|
-
object: "The :attribute must have :value items or less."
|
|
116
|
-
},
|
|
117
|
-
max: {
|
|
118
|
-
number: "The :attribute must not be greater than :max.",
|
|
119
|
-
string: "The :attribute must not be greater than :max characters.",
|
|
120
|
-
array: "The :attribute must not have more than :max items.",
|
|
121
|
-
object: "The :attribute must not have more than :max items."
|
|
122
|
-
},
|
|
123
|
-
min: {
|
|
124
|
-
number: "The :attribute must be at least :min.",
|
|
125
|
-
string: "The :attribute must be at least :min characters.",
|
|
126
|
-
array: "The :attribute must have at least :min items.",
|
|
127
|
-
object: "The :attribute must have at least :min items."
|
|
128
|
-
},
|
|
129
|
-
mac_address: "The :attribute must be a valid MAC address.",
|
|
130
|
-
not_in: "The selected :attribute is invalid.",
|
|
131
|
-
not_regex: "The :attribute format is invalid.",
|
|
132
|
-
not_includes: "The :attribute must not include any of the following values: :values.",
|
|
133
|
-
numeric: "The :attribute must be a number.",
|
|
134
|
-
object: "The :attribute must be an object.",
|
|
135
|
-
password: {
|
|
136
|
-
letter: "The :attribute must contain at least one letter.",
|
|
137
|
-
letters: "The :attribute must contain at least :amount letters.",
|
|
138
|
-
lower_case: "The :attribute must contain at least one lowercase letter.",
|
|
139
|
-
lower_cases: "The :attribute must contain at least :amount lowercase letters.",
|
|
140
|
-
number: "The :attribute must contain at least one number.",
|
|
141
|
-
numbers: "The :attribute must contain at least :amount numbers.",
|
|
142
|
-
symbol: "The :attribute must contain at least one symbol.",
|
|
143
|
-
symbols: "The :attribute must contain at least :amount symbols.",
|
|
144
|
-
upper_case: "The :attribute must contain at least one uppercase letter.",
|
|
145
|
-
upper_cases: "The :attribute must contain at least :amount uppercase letters."
|
|
146
|
-
},
|
|
147
|
-
present: "The :attribute field must be present.",
|
|
148
|
-
presentsame: "The :attribute field must be present.",
|
|
149
|
-
prohibited: "The :attribute field is prohibited.",
|
|
150
|
-
prohibited_unless: "The :attribute field is prohibited unless :other is in :values.",
|
|
151
|
-
prohibits: "The :attribute field prohibits :values from being present.",
|
|
152
|
-
regex: "The :attribute format is invalid.",
|
|
153
|
-
required: "The :attribute field is required.",
|
|
154
|
-
required_if: "The :attribute field is required when :other is :value.",
|
|
155
|
-
required_unless: "The :attribute field is required unless :other is in :values.",
|
|
156
|
-
required_with: "The :attribute field is required when :values is present.",
|
|
157
|
-
required_with_all: "The :attribute field is required when :values are present.",
|
|
158
|
-
required_without: "The :attribute field is required when :values is not present.",
|
|
159
|
-
required_without_all: "The :attribute field is required when none of :values are present.",
|
|
160
|
-
starts_with: "The :attribute must start with one of the following: :values.",
|
|
161
|
-
same: "The :attribute and :other must match.",
|
|
162
|
-
size: {
|
|
163
|
-
number: "The :attribute must be :size.",
|
|
164
|
-
string: "The :attribute must be :size characters.",
|
|
165
|
-
array: "The :attribute must contain :size items.",
|
|
166
|
-
object: "The :attribute must contain :size items."
|
|
167
|
-
},
|
|
168
|
-
string: "The :attribute must be a string.",
|
|
169
|
-
timezone: "The :attribute must be a valid timezone.",
|
|
170
|
-
unique: "The :attribute has already been taken.",
|
|
171
|
-
url: "The :attribute must have a valid URL format.",
|
|
172
|
-
multiple_of: "The :attribute must be a multiple of :value."
|
|
173
|
-
};
|
|
174
|
-
|
|
175
|
-
//#endregion
|
|
176
|
-
//#region src/locales/ar.ts
|
|
177
|
-
var ar_default = {
|
|
178
|
-
accepted: "يجب قبول الحقل :attribute",
|
|
179
|
-
accepted_if: "الحقل :attribute مقبول في حال ما إذا كان :other يساوي :value.",
|
|
180
|
-
after: "يجب على الحقل :attribute أن يكون تاريخا لاحقا للتاريخ :date.",
|
|
181
|
-
after_or_equal: "الحقل :attribute يجب أن يكون تاريخاً لاحقاً أو مطابقاً للتاريخ :date.",
|
|
182
|
-
alpha: "يجب أن لا يحتوي الحقل :attribute سوى على حروف",
|
|
183
|
-
alpha_dash: "يجب أن يحتوي الحقل :attribute على حرف واحد أو رقم واحد على الأقل، بالإضافة إلى شرطات وشرطات سفلية بشكل اختياري",
|
|
184
|
-
alpha_num: "يجب أن يحتوي :attribute على حروف وأرقام فقط",
|
|
185
|
-
array: "يجب أن يكون الحقل :attribute ًمصفوفة",
|
|
186
|
-
before: "يجب على الحقل :attribute أن يكون تاريخا سابقا للتاريخ :date.",
|
|
187
|
-
before_or_equal: "الحقل :attribute يجب أن يكون تاريخا سابقا أو مطابقا للتاريخ :date",
|
|
188
|
-
between: {
|
|
189
|
-
number: "يجب أن تكون قيمة :attribute بين :min و :max.",
|
|
190
|
-
string: "يجب أن يكون عدد حروف النّص :attribute بين :min و :max",
|
|
191
|
-
array: "يجب أن يحتوي :attribute على عدد من العناصر بين :min و :max",
|
|
192
|
-
object: "يجب أن يحتوي :attribute على عدد من العناصر بين :min و :max"
|
|
193
|
-
},
|
|
194
|
-
boolean: "يجب أن تكون قيمة الحقل :attribute إما true أو false",
|
|
195
|
-
confirmed: "حقل التأكيد غير مُطابق للحقل :attribute",
|
|
196
|
-
date: "الحقل :attribute ليس تاريخًا صحيحًا",
|
|
197
|
-
datetime: "الحقل :attribute يجب أن يكون تاريخًا صالحًا يطابق الصيغة :format.",
|
|
198
|
-
date_equals: "لا يساوي الحقل :attribute مع :date.",
|
|
199
|
-
declined: "يجب رفض الحقل :attribute",
|
|
200
|
-
declined_if: "الحقل :attribute مرفوض في حال ما إذا كان :other يساوي :value.",
|
|
201
|
-
different: "يجب أن يكون الحقلان :attribute و :other مُختلفان",
|
|
202
|
-
digits: "يجب أن يحتوي الحقل :attribute على :digits رقمًا/أرقام",
|
|
203
|
-
digits_between: "يجب أن يحتوي الحقل :attribute بين :min و :max رقمًا/أرقام",
|
|
204
|
-
email: "يجب أن يكون :attribute عنوان بريد إلكتروني صحيح البُنية",
|
|
205
|
-
ends_with: "حقل :attribute يجب ان ينتهي بأحد القيم التالية :value.",
|
|
206
|
-
exists: "الحقل :attribute غير موجود",
|
|
207
|
-
gt: {
|
|
208
|
-
number: "حقل :attribute يجب ان يكون اكبر من :value.",
|
|
209
|
-
string: "حقل :attribute يجب ان يكون اكبر من :value حروفٍ/حرفًا.",
|
|
210
|
-
array: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر.",
|
|
211
|
-
object: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر."
|
|
212
|
-
},
|
|
213
|
-
gte: {
|
|
214
|
-
number: "حقل :attribute يجب ان يكون اكبر من او يساوي :value.",
|
|
215
|
-
string: "حقل :attribute يجب ان يكون اكبر من او يساوي :value حروفٍ/حرفًا.",
|
|
216
|
-
array: "حقل :attribute يجب ان يحتوي علي :value عناصر/عنصر او اكثر.",
|
|
217
|
-
object: "حقل :attribute يجب ان يحتوي علي :value عناصر/عنصر او اكثر."
|
|
218
|
-
},
|
|
219
|
-
hex: "الحقل :attribute يجب أن يكون لونًا سداسيًا صالحًا.",
|
|
220
|
-
in: "الحقل :attribute غير صالح",
|
|
221
|
-
includes: "الحقل :attribute يجب أن يحتوي على أحد القيم التالية: :values.",
|
|
222
|
-
integer: "يجب أن يكون الحقل :attribute عددًا صحيحًا",
|
|
223
|
-
json: "يجب أن يكون الحقل :attribute نصا من نوع JSON.",
|
|
224
|
-
lt: {
|
|
225
|
-
number: "حقل :attribute يجب ان يكون اقل من :value.",
|
|
226
|
-
string: "حقل :attribute يجب ان يكون اقل من :value حروفٍ/حرفًا.",
|
|
227
|
-
array: "حقل :attribute يجب ان يحتوي علي اقل من :value عناصر/عنصر.",
|
|
228
|
-
object: "حقل :attribute يجب ان يحتوي علي اقل من :value عناصر/عنصر."
|
|
229
|
-
},
|
|
230
|
-
lte: {
|
|
231
|
-
number: "حقل :attribute يجب ان يكون اقل من او يساوي :value.",
|
|
232
|
-
string: "حقل :attribute يجب ان يكون اقل من او يساوي :value حروفٍ/حرفًا.",
|
|
233
|
-
array: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر.",
|
|
234
|
-
object: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر."
|
|
235
|
-
},
|
|
236
|
-
max: {
|
|
237
|
-
number: "يجب أن تكون قيمة الحقل :attribute مساوية أو أصغر لـ :max.",
|
|
238
|
-
string: "يجب أن لا يتجاوز طول نص :attribute :max حروفٍ/حرفًا",
|
|
239
|
-
array: "يجب أن لا يحتوي الحقل :attribute على أكثر من :max عناصر/عنصر.",
|
|
240
|
-
object: "يجب أن لا يحتوي الحقل :attribute على أكثر من :max عناصر/عنصر."
|
|
241
|
-
},
|
|
242
|
-
min: {
|
|
243
|
-
number: "يجب أن تكون قيمة الحقل :attribute مساوية أو أكبر لـ :min.",
|
|
244
|
-
string: "يجب أن يكون طول نص :attribute على الأقل :min حروفٍ/حرفًا",
|
|
245
|
-
array: "يجب أن يحتوي الحقل :attribute على الأقل على :min عُنصرًا/عناصر",
|
|
246
|
-
object: "يجب أن يحتوي الحقل :attribute على الأقل على :min عُنصرًا/عناصر"
|
|
247
|
-
},
|
|
248
|
-
not_in: "الحقل :attribute غير صالح",
|
|
249
|
-
not_regex: "الحقل :attribute نوعه غير صالح",
|
|
250
|
-
not_includes: "الحقل :attribute يجب ألا يحتوي على أي من القيم التالية: :values.",
|
|
251
|
-
numeric: "يجب على الحقل :attribute أن يكون رقمًا",
|
|
252
|
-
object: "الحقل :attribute يجب ان يكون من نوع object.",
|
|
253
|
-
password: {
|
|
254
|
-
letter: "يجب ان يشمل حقل :attribute على حرف واحد على الاقل.",
|
|
255
|
-
letters: "يجب ان يشمل حقل :attribute على عدد :amount حروف على الاقل.",
|
|
256
|
-
lower_case: "يجب ان يشمل حقل :attribute على حرف واحد من صيغة صغيرة على الاقل.",
|
|
257
|
-
lower_cases: "يجب ان يشمل حقل :attribute على عدد :amount حروف صغيرة على الاقل.",
|
|
258
|
-
number: "يجب ان يشمل حقل :attribute على رقم واحد على الاقل.",
|
|
259
|
-
numbers: "يجب ان يشمل حقل :attribute على عدد :amount من الارقام على الاقل.",
|
|
260
|
-
symbol: "يجب ان يشمل حقل :attribute على رمز واحد على الاقل.",
|
|
261
|
-
symbols: "يجب ان يشمل حقل :attribute على عدد :amount رموز على الاقل.",
|
|
262
|
-
upper_case: "يجب ان يشمل حقل :attribute على حرف كبير واحد على الاقل.",
|
|
263
|
-
upper_cases: "يجب ان يشمل حقل :attribute على عدد :amount حروف كبيرة على الاقل."
|
|
264
|
-
},
|
|
265
|
-
present: "يجب تقديم الحقل :attribute",
|
|
266
|
-
regex: "صيغة الحقل :attribute .غير صحيحة",
|
|
267
|
-
required: "الحقل :attribute مطلوب.",
|
|
268
|
-
required_if: "الحقل :attribute مطلوب في حال ما إذا كان :other يساوي :value.",
|
|
269
|
-
required_unless: "الحقل :attribute مطلوب في حال ما لم يكن :other يساوي :values.",
|
|
270
|
-
required_with: "الحقل :attribute اجباري إذا توفّر :values.",
|
|
271
|
-
required_with_all: "الحقل :attribute اجباري إذا توفّر :values.",
|
|
272
|
-
required_without: "الحقل :attribute اجباري إذا لم يتوفّر :values.",
|
|
273
|
-
required_without_all: "الحقل :attribute اجباري إذا لم يتوفّر :values.",
|
|
274
|
-
starts_with: "الحقل :attribute يجب ان يبدأ بأحد القيم التالية: :values.",
|
|
275
|
-
same: "يجب أن يتطابق الحقل :attribute مع :other",
|
|
276
|
-
size: {
|
|
277
|
-
number: "يجب أن تكون قيمة الحقل :attribute مساوية لـ :size",
|
|
278
|
-
string: "يجب أن يحتوي النص :attribute على :size حروفٍ/حرفًا بالظبط",
|
|
279
|
-
array: "يجب أن يحتوي الحقل :attribute على :size عنصرٍ/عناصر بالظبط",
|
|
280
|
-
object: "يجب أن يحتوي الحقل :attribute على :size عنصرٍ/عناصر بالظبط"
|
|
281
|
-
},
|
|
282
|
-
string: "يجب أن يكون الحقل :attribute نصآ.",
|
|
283
|
-
unique: "الحقل :attribute مستخدم بالفعل.",
|
|
284
|
-
url: "صيغة الرابط :attribute غير صحيحة"
|
|
285
|
-
};
|
|
286
|
-
|
|
287
47
|
//#endregion
|
|
288
48
|
//#region src/locales/index.ts
|
|
289
49
|
var locales_default = {
|
|
290
|
-
en:
|
|
291
|
-
|
|
50
|
+
en: {
|
|
51
|
+
accepted: "The :attribute must be accepted.",
|
|
52
|
+
accepted_if: "The :attribute must be accepted when :other is :value.",
|
|
53
|
+
after: "The :attribute must be a date after :date.",
|
|
54
|
+
after_or_equal: "The :attribute must be a date after or equal to :date.",
|
|
55
|
+
alpha: "The :attribute must only contain letters.",
|
|
56
|
+
alpha_dash: "The :attribute must only contain at least one letter or one number, and optionally dashes and underscores.",
|
|
57
|
+
alpha_num: "The :attribute must only contain letters and numbers.",
|
|
58
|
+
array: "The :attribute must be an array.",
|
|
59
|
+
array_unique: "The :attribute must be an array with unique values.",
|
|
60
|
+
before: "The :attribute must be a date before :date.",
|
|
61
|
+
before_or_equal: "The :attribute must be a date before or equal to :date.",
|
|
62
|
+
between: {
|
|
63
|
+
number: "The :attribute must be between :min and :max.",
|
|
64
|
+
string: "The :attribute must be between :min and :max characters.",
|
|
65
|
+
array: "The :attribute must have between :min and :max items.",
|
|
66
|
+
object: "The :attribute must have between :min and :max items."
|
|
67
|
+
},
|
|
68
|
+
boolean: "The :attribute field must be true or false.",
|
|
69
|
+
confirmed: "The :attribute confirmation does not match.",
|
|
70
|
+
date: "The :attribute is not a valid date.",
|
|
71
|
+
datetime: "The :attribute must be a valid date matching the format :format.",
|
|
72
|
+
date_equals: "The :attribute must be a date equal to :date.",
|
|
73
|
+
declined: "The :attribute must be declined.",
|
|
74
|
+
declined_if: "The :attribute must be declined when :other is :value.",
|
|
75
|
+
different: "The :attribute and :other must be different.",
|
|
76
|
+
distinct: "The :attribute field has a duplicate value.",
|
|
77
|
+
digits: "The :attribute must be :digits digits.",
|
|
78
|
+
digits_between: "The :attribute must be between :min and :max digits.",
|
|
79
|
+
email: "The :attribute must be a valid email address.",
|
|
80
|
+
ends_with: "The :attribute must end with one of the following: :values.",
|
|
81
|
+
filled: "The :attribute field must have a value.",
|
|
82
|
+
exists: "The selected :attribute is invalid.",
|
|
83
|
+
gt: {
|
|
84
|
+
number: "The :attribute must be greater than :value.",
|
|
85
|
+
string: "The :attribute must be greater than :value characters.",
|
|
86
|
+
array: "The :attribute must have more than :value items.",
|
|
87
|
+
object: "The :attribute must have more than :value items."
|
|
88
|
+
},
|
|
89
|
+
gte: {
|
|
90
|
+
number: "The :attribute must be greater than or equal :value.",
|
|
91
|
+
string: "The :attribute must be greater than or equal :value characters.",
|
|
92
|
+
array: "The :attribute must have :value items or more.",
|
|
93
|
+
object: "The :attribute must have :value items or more."
|
|
94
|
+
},
|
|
95
|
+
hex: "The :attribute must be a valid hexadecimal color.",
|
|
96
|
+
in: "The :attribute must be one of the following :values.",
|
|
97
|
+
includes: "The :attribute must include one of the following values: :values.",
|
|
98
|
+
integer: "The :attribute must be an integer.",
|
|
99
|
+
ip: "The :attribute must be a valid IP address.",
|
|
100
|
+
ipv4: "The :attribute must be a valid IPv4 address.",
|
|
101
|
+
ipv6: "The :attribute must be a valid IPv6 address.",
|
|
102
|
+
json: "The :attribute must be a valid JSON string.",
|
|
103
|
+
lt: {
|
|
104
|
+
number: "The :attribute must be less than :value.",
|
|
105
|
+
string: "The :attribute must be less than :value characters.",
|
|
106
|
+
array: "The :attribute must have less than :value items.",
|
|
107
|
+
object: "The :attribute must have less than :value items."
|
|
108
|
+
},
|
|
109
|
+
lte: {
|
|
110
|
+
number: "The :attribute must be less than or equal :value.",
|
|
111
|
+
string: "The :attribute must be less than or equal :value characters.",
|
|
112
|
+
array: "The :attribute must have :value items or less.",
|
|
113
|
+
object: "The :attribute must have :value items or less."
|
|
114
|
+
},
|
|
115
|
+
max: {
|
|
116
|
+
number: "The :attribute must not be greater than :max.",
|
|
117
|
+
string: "The :attribute must not be greater than :max characters.",
|
|
118
|
+
array: "The :attribute must not have more than :max items.",
|
|
119
|
+
object: "The :attribute must not have more than :max items."
|
|
120
|
+
},
|
|
121
|
+
min: {
|
|
122
|
+
number: "The :attribute must be at least :min.",
|
|
123
|
+
string: "The :attribute must be at least :min characters.",
|
|
124
|
+
array: "The :attribute must have at least :min items.",
|
|
125
|
+
object: "The :attribute must have at least :min items."
|
|
126
|
+
},
|
|
127
|
+
mac_address: "The :attribute must be a valid MAC address.",
|
|
128
|
+
not_in: "The selected :attribute is invalid.",
|
|
129
|
+
not_regex: "The :attribute format is invalid.",
|
|
130
|
+
not_includes: "The :attribute must not include any of the following values: :values.",
|
|
131
|
+
numeric: "The :attribute must be a number.",
|
|
132
|
+
object: "The :attribute must be an object.",
|
|
133
|
+
password: {
|
|
134
|
+
letter: "The :attribute must contain at least one letter.",
|
|
135
|
+
letters: "The :attribute must contain at least :amount letters.",
|
|
136
|
+
lower_case: "The :attribute must contain at least one lowercase letter.",
|
|
137
|
+
lower_cases: "The :attribute must contain at least :amount lowercase letters.",
|
|
138
|
+
number: "The :attribute must contain at least one number.",
|
|
139
|
+
numbers: "The :attribute must contain at least :amount numbers.",
|
|
140
|
+
symbol: "The :attribute must contain at least one symbol.",
|
|
141
|
+
symbols: "The :attribute must contain at least :amount symbols.",
|
|
142
|
+
upper_case: "The :attribute must contain at least one uppercase letter.",
|
|
143
|
+
upper_cases: "The :attribute must contain at least :amount uppercase letters."
|
|
144
|
+
},
|
|
145
|
+
present: "The :attribute field must be present.",
|
|
146
|
+
presentsame: "The :attribute field must be present.",
|
|
147
|
+
prohibited: "The :attribute field is prohibited.",
|
|
148
|
+
prohibited_unless: "The :attribute field is prohibited unless :other is in :values.",
|
|
149
|
+
prohibits: "The :attribute field prohibits :values from being present.",
|
|
150
|
+
regex: "The :attribute format is invalid.",
|
|
151
|
+
required: "The :attribute field is required.",
|
|
152
|
+
required_if: "The :attribute field is required when :other is :value.",
|
|
153
|
+
required_unless: "The :attribute field is required unless :other is in :values.",
|
|
154
|
+
required_with: "The :attribute field is required when :values is present.",
|
|
155
|
+
required_with_all: "The :attribute field is required when :values are present.",
|
|
156
|
+
required_without: "The :attribute field is required when :values is not present.",
|
|
157
|
+
required_without_all: "The :attribute field is required when none of :values are present.",
|
|
158
|
+
starts_with: "The :attribute must start with one of the following: :values.",
|
|
159
|
+
same: "The :attribute and :other must match.",
|
|
160
|
+
size: {
|
|
161
|
+
number: "The :attribute must be :size.",
|
|
162
|
+
string: "The :attribute must be :size characters.",
|
|
163
|
+
array: "The :attribute must contain :size items.",
|
|
164
|
+
object: "The :attribute must contain :size items."
|
|
165
|
+
},
|
|
166
|
+
string: "The :attribute must be a string.",
|
|
167
|
+
timezone: "The :attribute must be a valid timezone.",
|
|
168
|
+
unique: "The :attribute has already been taken.",
|
|
169
|
+
url: "The :attribute must have a valid URL format.",
|
|
170
|
+
multiple_of: "The :attribute must be a multiple of :value."
|
|
171
|
+
},
|
|
172
|
+
ar: {
|
|
173
|
+
accepted: "يجب قبول الحقل :attribute",
|
|
174
|
+
accepted_if: "الحقل :attribute مقبول في حال ما إذا كان :other يساوي :value.",
|
|
175
|
+
after: "يجب على الحقل :attribute أن يكون تاريخا لاحقا للتاريخ :date.",
|
|
176
|
+
after_or_equal: "الحقل :attribute يجب أن يكون تاريخاً لاحقاً أو مطابقاً للتاريخ :date.",
|
|
177
|
+
alpha: "يجب أن لا يحتوي الحقل :attribute سوى على حروف",
|
|
178
|
+
alpha_dash: "يجب أن يحتوي الحقل :attribute على حرف واحد أو رقم واحد على الأقل، بالإضافة إلى شرطات وشرطات سفلية بشكل اختياري",
|
|
179
|
+
alpha_num: "يجب أن يحتوي :attribute على حروف وأرقام فقط",
|
|
180
|
+
array: "يجب أن يكون الحقل :attribute ًمصفوفة",
|
|
181
|
+
before: "يجب على الحقل :attribute أن يكون تاريخا سابقا للتاريخ :date.",
|
|
182
|
+
before_or_equal: "الحقل :attribute يجب أن يكون تاريخا سابقا أو مطابقا للتاريخ :date",
|
|
183
|
+
between: {
|
|
184
|
+
number: "يجب أن تكون قيمة :attribute بين :min و :max.",
|
|
185
|
+
string: "يجب أن يكون عدد حروف النّص :attribute بين :min و :max",
|
|
186
|
+
array: "يجب أن يحتوي :attribute على عدد من العناصر بين :min و :max",
|
|
187
|
+
object: "يجب أن يحتوي :attribute على عدد من العناصر بين :min و :max"
|
|
188
|
+
},
|
|
189
|
+
boolean: "يجب أن تكون قيمة الحقل :attribute إما true أو false",
|
|
190
|
+
confirmed: "حقل التأكيد غير مُطابق للحقل :attribute",
|
|
191
|
+
date: "الحقل :attribute ليس تاريخًا صحيحًا",
|
|
192
|
+
datetime: "الحقل :attribute يجب أن يكون تاريخًا صالحًا يطابق الصيغة :format.",
|
|
193
|
+
date_equals: "لا يساوي الحقل :attribute مع :date.",
|
|
194
|
+
declined: "يجب رفض الحقل :attribute",
|
|
195
|
+
declined_if: "الحقل :attribute مرفوض في حال ما إذا كان :other يساوي :value.",
|
|
196
|
+
different: "يجب أن يكون الحقلان :attribute و :other مُختلفان",
|
|
197
|
+
digits: "يجب أن يحتوي الحقل :attribute على :digits رقمًا/أرقام",
|
|
198
|
+
digits_between: "يجب أن يحتوي الحقل :attribute بين :min و :max رقمًا/أرقام",
|
|
199
|
+
email: "يجب أن يكون :attribute عنوان بريد إلكتروني صحيح البُنية",
|
|
200
|
+
ends_with: "حقل :attribute يجب ان ينتهي بأحد القيم التالية :value.",
|
|
201
|
+
exists: "الحقل :attribute غير موجود",
|
|
202
|
+
gt: {
|
|
203
|
+
number: "حقل :attribute يجب ان يكون اكبر من :value.",
|
|
204
|
+
string: "حقل :attribute يجب ان يكون اكبر من :value حروفٍ/حرفًا.",
|
|
205
|
+
array: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر.",
|
|
206
|
+
object: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر."
|
|
207
|
+
},
|
|
208
|
+
gte: {
|
|
209
|
+
number: "حقل :attribute يجب ان يكون اكبر من او يساوي :value.",
|
|
210
|
+
string: "حقل :attribute يجب ان يكون اكبر من او يساوي :value حروفٍ/حرفًا.",
|
|
211
|
+
array: "حقل :attribute يجب ان يحتوي علي :value عناصر/عنصر او اكثر.",
|
|
212
|
+
object: "حقل :attribute يجب ان يحتوي علي :value عناصر/عنصر او اكثر."
|
|
213
|
+
},
|
|
214
|
+
hex: "الحقل :attribute يجب أن يكون لونًا سداسيًا صالحًا.",
|
|
215
|
+
in: "الحقل :attribute غير صالح",
|
|
216
|
+
includes: "الحقل :attribute يجب أن يحتوي على أحد القيم التالية: :values.",
|
|
217
|
+
integer: "يجب أن يكون الحقل :attribute عددًا صحيحًا",
|
|
218
|
+
json: "يجب أن يكون الحقل :attribute نصا من نوع JSON.",
|
|
219
|
+
lt: {
|
|
220
|
+
number: "حقل :attribute يجب ان يكون اقل من :value.",
|
|
221
|
+
string: "حقل :attribute يجب ان يكون اقل من :value حروفٍ/حرفًا.",
|
|
222
|
+
array: "حقل :attribute يجب ان يحتوي علي اقل من :value عناصر/عنصر.",
|
|
223
|
+
object: "حقل :attribute يجب ان يحتوي علي اقل من :value عناصر/عنصر."
|
|
224
|
+
},
|
|
225
|
+
lte: {
|
|
226
|
+
number: "حقل :attribute يجب ان يكون اقل من او يساوي :value.",
|
|
227
|
+
string: "حقل :attribute يجب ان يكون اقل من او يساوي :value حروفٍ/حرفًا.",
|
|
228
|
+
array: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر.",
|
|
229
|
+
object: "حقل :attribute يجب ان يحتوي علي اكثر من :value عناصر/عنصر."
|
|
230
|
+
},
|
|
231
|
+
max: {
|
|
232
|
+
number: "يجب أن تكون قيمة الحقل :attribute مساوية أو أصغر لـ :max.",
|
|
233
|
+
string: "يجب أن لا يتجاوز طول نص :attribute :max حروفٍ/حرفًا",
|
|
234
|
+
array: "يجب أن لا يحتوي الحقل :attribute على أكثر من :max عناصر/عنصر.",
|
|
235
|
+
object: "يجب أن لا يحتوي الحقل :attribute على أكثر من :max عناصر/عنصر."
|
|
236
|
+
},
|
|
237
|
+
min: {
|
|
238
|
+
number: "يجب أن تكون قيمة الحقل :attribute مساوية أو أكبر لـ :min.",
|
|
239
|
+
string: "يجب أن يكون طول نص :attribute على الأقل :min حروفٍ/حرفًا",
|
|
240
|
+
array: "يجب أن يحتوي الحقل :attribute على الأقل على :min عُنصرًا/عناصر",
|
|
241
|
+
object: "يجب أن يحتوي الحقل :attribute على الأقل على :min عُنصرًا/عناصر"
|
|
242
|
+
},
|
|
243
|
+
not_in: "الحقل :attribute غير صالح",
|
|
244
|
+
not_regex: "الحقل :attribute نوعه غير صالح",
|
|
245
|
+
not_includes: "الحقل :attribute يجب ألا يحتوي على أي من القيم التالية: :values.",
|
|
246
|
+
numeric: "يجب على الحقل :attribute أن يكون رقمًا",
|
|
247
|
+
object: "الحقل :attribute يجب ان يكون من نوع object.",
|
|
248
|
+
password: {
|
|
249
|
+
letter: "يجب ان يشمل حقل :attribute على حرف واحد على الاقل.",
|
|
250
|
+
letters: "يجب ان يشمل حقل :attribute على عدد :amount حروف على الاقل.",
|
|
251
|
+
lower_case: "يجب ان يشمل حقل :attribute على حرف واحد من صيغة صغيرة على الاقل.",
|
|
252
|
+
lower_cases: "يجب ان يشمل حقل :attribute على عدد :amount حروف صغيرة على الاقل.",
|
|
253
|
+
number: "يجب ان يشمل حقل :attribute على رقم واحد على الاقل.",
|
|
254
|
+
numbers: "يجب ان يشمل حقل :attribute على عدد :amount من الارقام على الاقل.",
|
|
255
|
+
symbol: "يجب ان يشمل حقل :attribute على رمز واحد على الاقل.",
|
|
256
|
+
symbols: "يجب ان يشمل حقل :attribute على عدد :amount رموز على الاقل.",
|
|
257
|
+
upper_case: "يجب ان يشمل حقل :attribute على حرف كبير واحد على الاقل.",
|
|
258
|
+
upper_cases: "يجب ان يشمل حقل :attribute على عدد :amount حروف كبيرة على الاقل."
|
|
259
|
+
},
|
|
260
|
+
present: "يجب تقديم الحقل :attribute",
|
|
261
|
+
regex: "صيغة الحقل :attribute .غير صحيحة",
|
|
262
|
+
required: "الحقل :attribute مطلوب.",
|
|
263
|
+
required_if: "الحقل :attribute مطلوب في حال ما إذا كان :other يساوي :value.",
|
|
264
|
+
required_unless: "الحقل :attribute مطلوب في حال ما لم يكن :other يساوي :values.",
|
|
265
|
+
required_with: "الحقل :attribute اجباري إذا توفّر :values.",
|
|
266
|
+
required_with_all: "الحقل :attribute اجباري إذا توفّر :values.",
|
|
267
|
+
required_without: "الحقل :attribute اجباري إذا لم يتوفّر :values.",
|
|
268
|
+
required_without_all: "الحقل :attribute اجباري إذا لم يتوفّر :values.",
|
|
269
|
+
starts_with: "الحقل :attribute يجب ان يبدأ بأحد القيم التالية: :values.",
|
|
270
|
+
same: "يجب أن يتطابق الحقل :attribute مع :other",
|
|
271
|
+
size: {
|
|
272
|
+
number: "يجب أن تكون قيمة الحقل :attribute مساوية لـ :size",
|
|
273
|
+
string: "يجب أن يحتوي النص :attribute على :size حروفٍ/حرفًا بالظبط",
|
|
274
|
+
array: "يجب أن يحتوي الحقل :attribute على :size عنصرٍ/عناصر بالظبط",
|
|
275
|
+
object: "يجب أن يحتوي الحقل :attribute على :size عنصرٍ/عناصر بالظبط"
|
|
276
|
+
},
|
|
277
|
+
string: "يجب أن يكون الحقل :attribute نصآ.",
|
|
278
|
+
unique: "الحقل :attribute مستخدم بالفعل.",
|
|
279
|
+
url: "صيغة الرابط :attribute غير صحيحة"
|
|
280
|
+
}
|
|
292
281
|
};
|
|
293
|
-
|
|
294
282
|
//#endregion
|
|
295
283
|
//#region src/utilities/helpers.ts
|
|
296
284
|
/**
|
|
@@ -345,7 +333,6 @@ function deepFindMessage(obj, path) {
|
|
|
345
333
|
}
|
|
346
334
|
return obj;
|
|
347
335
|
}
|
|
348
|
-
|
|
349
336
|
//#endregion
|
|
350
337
|
//#region src/Lang.ts
|
|
351
338
|
var Lang = class {
|
|
@@ -459,7 +446,6 @@ var Lang = class {
|
|
|
459
446
|
this.fallbackMessages = locales_default.en;
|
|
460
447
|
}
|
|
461
448
|
};
|
|
462
|
-
|
|
463
449
|
//#endregion
|
|
464
450
|
//#region src/Rules/IRuleContract.ts
|
|
465
451
|
var IRuleContract = class {
|
|
@@ -511,7 +497,6 @@ var IRuleContract = class {
|
|
|
511
497
|
return message;
|
|
512
498
|
}
|
|
513
499
|
};
|
|
514
|
-
|
|
515
500
|
//#endregion
|
|
516
501
|
//#region src/utilities/date.ts
|
|
517
502
|
/**
|
|
@@ -521,10 +506,12 @@ function toDate(value) {
|
|
|
521
506
|
const date = Date.parse(value);
|
|
522
507
|
return !isNaN(date) ? new Date(date) : null;
|
|
523
508
|
}
|
|
524
|
-
|
|
525
509
|
//#endregion
|
|
526
510
|
//#region src/validators/replaceAttributes.ts
|
|
527
511
|
const replaceAttributes = {
|
|
512
|
+
/**
|
|
513
|
+
* Replace all place-holders for the accepted_if rule.
|
|
514
|
+
*/
|
|
528
515
|
replaceAcceptedIf: function({ data, message, parameters, getDisplayableAttribute }) {
|
|
529
516
|
const [other] = parameters;
|
|
530
517
|
const result = deepFind(data, other);
|
|
@@ -534,19 +521,34 @@ const replaceAttributes = {
|
|
|
534
521
|
};
|
|
535
522
|
return message.replace(/:other|:value/gi, (matched) => values[matched]);
|
|
536
523
|
},
|
|
524
|
+
/**
|
|
525
|
+
* Replace all place-holders for the after rule.
|
|
526
|
+
*/
|
|
537
527
|
replaceAfter: function(payload) {
|
|
538
528
|
return this.replaceBefore(payload);
|
|
539
529
|
},
|
|
530
|
+
/**
|
|
531
|
+
* Replace all place-holders for the after_or_equal rule.
|
|
532
|
+
*/
|
|
540
533
|
replaceAfterOrEqual: function(payload) {
|
|
541
534
|
return this.replaceBefore(payload);
|
|
542
535
|
},
|
|
536
|
+
/**
|
|
537
|
+
* Replace all place-holders for the before rule.
|
|
538
|
+
*/
|
|
543
539
|
replaceBefore: function({ message, parameters, getDisplayableAttribute }) {
|
|
544
540
|
if (!toDate(parameters[0])) return message.replace(":date", getDisplayableAttribute(parameters[0]));
|
|
545
541
|
return message.replace(":date", parameters[0]);
|
|
546
542
|
},
|
|
543
|
+
/**
|
|
544
|
+
* Replace all place-holders for the before_or_equal rule.
|
|
545
|
+
*/
|
|
547
546
|
replaceBeforeOrEqual: function(payload) {
|
|
548
547
|
return this.replaceBefore(payload);
|
|
549
548
|
},
|
|
549
|
+
/**
|
|
550
|
+
* Replace all the place-holders for the between rule.
|
|
551
|
+
*/
|
|
550
552
|
replaceBetween: function({ message, parameters }) {
|
|
551
553
|
const values = {
|
|
552
554
|
":min": parameters[0],
|
|
@@ -554,12 +556,21 @@ const replaceAttributes = {
|
|
|
554
556
|
};
|
|
555
557
|
return message.replace(/:min|:max/gi, (matched) => values[matched]);
|
|
556
558
|
},
|
|
559
|
+
/**
|
|
560
|
+
* Replace all place-holders for the before_or_equal rule.
|
|
561
|
+
*/
|
|
557
562
|
replaceDateEquals: function(payload) {
|
|
558
563
|
return this.replaceBefore(payload);
|
|
559
564
|
},
|
|
565
|
+
/**
|
|
566
|
+
* Replace all place-holders for the datetime rule.
|
|
567
|
+
*/
|
|
560
568
|
replaceDatetime: function({ message, parameters }) {
|
|
561
569
|
return message.replace(":format", parameters[0]);
|
|
562
570
|
},
|
|
571
|
+
/**
|
|
572
|
+
* Replace all place-holders for the declined_if rule.
|
|
573
|
+
*/
|
|
563
574
|
replaceDeclinedIf: function({ message, parameters, data, getDisplayableAttribute }) {
|
|
564
575
|
const [other] = parameters;
|
|
565
576
|
const result = deepFind(data, other);
|
|
@@ -569,66 +580,126 @@ const replaceAttributes = {
|
|
|
569
580
|
};
|
|
570
581
|
return message.replace(/:other|:value/gi, (matched) => values[matched]);
|
|
571
582
|
},
|
|
583
|
+
/**
|
|
584
|
+
* Replace all place-holders for the different rule.
|
|
585
|
+
*/
|
|
572
586
|
replaceDifferent: function(payload) {
|
|
573
587
|
return this.replaceSame(payload);
|
|
574
588
|
},
|
|
589
|
+
/**
|
|
590
|
+
* Replace all place-holders for the digits rule.
|
|
591
|
+
*/
|
|
575
592
|
replaceDigits: function({ message, parameters }) {
|
|
576
593
|
return message.replace(":digits", parameters[0]);
|
|
577
594
|
},
|
|
595
|
+
/**
|
|
596
|
+
* Replace all place-holders for the digits (between) rule.
|
|
597
|
+
*/
|
|
578
598
|
replaceDigitsBetween: function(payload) {
|
|
579
599
|
return this.replaceBetween(payload);
|
|
580
600
|
},
|
|
601
|
+
/**
|
|
602
|
+
* Replace all place-holders for the ends_with rule.
|
|
603
|
+
*/
|
|
581
604
|
replaceEndsWith: function({ message, parameters }) {
|
|
582
605
|
return message.replace(":values", parameters.join(", "));
|
|
583
606
|
},
|
|
607
|
+
/**
|
|
608
|
+
* Replace all place-holders for the exists rule.
|
|
609
|
+
*/
|
|
584
610
|
replaceExists: function({ message, parameters, data }) {
|
|
585
611
|
return message.replace(":value", data[parameters[1]]);
|
|
586
612
|
},
|
|
613
|
+
/**
|
|
614
|
+
* Replace all place-holders for the in rule.
|
|
615
|
+
*/
|
|
587
616
|
replaceIn: function({ message, parameters }) {
|
|
588
617
|
return message.replace(":values", parameters.join(", "));
|
|
589
618
|
},
|
|
619
|
+
/**
|
|
620
|
+
* Replace all place-holders for the not_includes rule.
|
|
621
|
+
*/
|
|
590
622
|
replaceIncludes: function({ message, parameters }) {
|
|
591
623
|
return message.replace(":values", parameters.join(", "));
|
|
592
624
|
},
|
|
625
|
+
/**
|
|
626
|
+
* Replace all place-holders for the starts_with rule.
|
|
627
|
+
*/
|
|
593
628
|
replaceStartsWith: function({ message, parameters }) {
|
|
594
629
|
return message.replace(":values", parameters.join(", "));
|
|
595
630
|
},
|
|
631
|
+
/**
|
|
632
|
+
* Replace all place-holders for the min rule.
|
|
633
|
+
*/
|
|
596
634
|
replaceMin: function({ message, parameters }) {
|
|
597
635
|
return message.replace(":min", parameters[0]);
|
|
598
636
|
},
|
|
637
|
+
/**
|
|
638
|
+
* Replace all place-holders for the max rule.
|
|
639
|
+
*/
|
|
599
640
|
replaceMax: function({ message, parameters }) {
|
|
600
641
|
return message.replace(":max", parameters[0]);
|
|
601
642
|
},
|
|
643
|
+
/**
|
|
644
|
+
* Replace all place-holders for the not_includes rule.
|
|
645
|
+
*/
|
|
602
646
|
replaceNotIncludes: function({ message, parameters }) {
|
|
603
647
|
return message.replace(":values", parameters.join(", "));
|
|
604
648
|
},
|
|
649
|
+
/**
|
|
650
|
+
* Replace all place-holders for the required_with rule.
|
|
651
|
+
*/
|
|
605
652
|
replaceRequiredWith: function({ message, parameters, getDisplayableAttribute }) {
|
|
606
653
|
return message.replace(":values", parameters.map((attribute) => getDisplayableAttribute(attribute)).join(", "));
|
|
607
654
|
},
|
|
655
|
+
/**
|
|
656
|
+
* Replace all place-holders for the required_with_all rule.
|
|
657
|
+
*/
|
|
608
658
|
replaceRequiredWithAll: function(payload) {
|
|
609
659
|
return this.replaceRequiredWith(payload);
|
|
610
660
|
},
|
|
661
|
+
/**
|
|
662
|
+
* Replace all place-holders for the required_without rule.
|
|
663
|
+
*/
|
|
611
664
|
replaceRequiredWithout: function(payload) {
|
|
612
665
|
return this.replaceRequiredWith(payload);
|
|
613
666
|
},
|
|
667
|
+
/**
|
|
668
|
+
* Replace all place-holders for the required_without_all rule.
|
|
669
|
+
*/
|
|
614
670
|
replaceRequiredWithoutAll: function(payload) {
|
|
615
671
|
return this.replaceRequiredWith(payload);
|
|
616
672
|
},
|
|
673
|
+
/**
|
|
674
|
+
* Replace all place-holders for the gt rule.
|
|
675
|
+
*/
|
|
617
676
|
replaceGt: function({ message, parameters, data, hasNumericRule }) {
|
|
618
677
|
const [value] = parameters;
|
|
619
678
|
const result = deepFind(data, value);
|
|
620
679
|
if (typeof result === "undefined") return message.replace(":value", value);
|
|
621
680
|
return message.replace(":value", getSize(result, hasNumericRule).toString());
|
|
622
681
|
},
|
|
682
|
+
/**
|
|
683
|
+
* Replace all place-holders for the lt rule.
|
|
684
|
+
*/
|
|
623
685
|
replaceLt: function(payload) {
|
|
624
686
|
return this.replaceGt(payload);
|
|
625
687
|
},
|
|
688
|
+
/**
|
|
689
|
+
* Replace all place-holders for the gte rule.
|
|
690
|
+
*/
|
|
626
691
|
replaceGte: function(payload) {
|
|
627
692
|
return this.replaceGt(payload);
|
|
628
693
|
},
|
|
694
|
+
/**
|
|
695
|
+
* Replace all place-holders for the lte rule.
|
|
696
|
+
*/
|
|
629
697
|
replaceLte: function(payload) {
|
|
630
698
|
return this.replaceGt(payload);
|
|
631
699
|
},
|
|
700
|
+
/**
|
|
701
|
+
* Replace all place-holders for the required_if rule.
|
|
702
|
+
*/
|
|
632
703
|
replaceRequiredIf: function({ message, parameters, data, getDisplayableAttribute }) {
|
|
633
704
|
const [other] = parameters;
|
|
634
705
|
const result = deepFind(data, other);
|
|
@@ -638,12 +709,21 @@ const replaceAttributes = {
|
|
|
638
709
|
};
|
|
639
710
|
return message.replace(/:other|:value/gi, (matched) => values[matched]);
|
|
640
711
|
},
|
|
712
|
+
/**
|
|
713
|
+
* Replace all place-holders for the prohibited_unless rule.
|
|
714
|
+
*/
|
|
641
715
|
replaceProhibitedUnless: function(payload) {
|
|
642
716
|
return this.replaceRequiredUnless(payload);
|
|
643
717
|
},
|
|
718
|
+
/**
|
|
719
|
+
* Replace all place-holders for the prohibits rule.
|
|
720
|
+
*/
|
|
644
721
|
replaceProhibits: function({ message, parameters, getDisplayableAttribute }) {
|
|
645
722
|
return message.replace(":values", parameters.map((attribute) => getDisplayableAttribute(attribute)).join(", "));
|
|
646
723
|
},
|
|
724
|
+
/**
|
|
725
|
+
* Replace all the place-holders for the required_unless rule.
|
|
726
|
+
*/
|
|
647
727
|
replaceRequiredUnless: function({ message, parameters, getDisplayableAttribute }) {
|
|
648
728
|
const [other] = parameters;
|
|
649
729
|
const values = {
|
|
@@ -652,23 +732,41 @@ const replaceAttributes = {
|
|
|
652
732
|
};
|
|
653
733
|
return message.replace(/:other|:values/gi, (matched) => values[matched]);
|
|
654
734
|
},
|
|
735
|
+
/**
|
|
736
|
+
* Replace all place-holders for the same rule.
|
|
737
|
+
*/
|
|
655
738
|
replaceSame: function({ message, parameters, getDisplayableAttribute }) {
|
|
656
739
|
return message.replace(":other", getDisplayableAttribute(parameters[0]));
|
|
657
740
|
},
|
|
741
|
+
/**
|
|
742
|
+
* Replace all place-holders for the size rule.
|
|
743
|
+
*/
|
|
658
744
|
replaceSize: function({ message, parameters }) {
|
|
659
745
|
return message.replace(":size", parameters[0]);
|
|
660
746
|
},
|
|
747
|
+
/**
|
|
748
|
+
* Replace all place-holders for the multiple_of rule.
|
|
749
|
+
*/
|
|
661
750
|
replaceMultipleOf: function({ message, parameters }) {
|
|
662
751
|
return message.replace(":value", parameters[0]);
|
|
663
752
|
},
|
|
753
|
+
/**
|
|
754
|
+
* Replace all place-holders for the unique rule.
|
|
755
|
+
*/
|
|
664
756
|
replaceUnique: function({ message, parameters, data }) {
|
|
665
757
|
return message.replace(":value", data[parameters[1]]);
|
|
666
758
|
}
|
|
667
759
|
};
|
|
668
|
-
|
|
669
760
|
//#endregion
|
|
670
761
|
//#region src/validators/validationData.ts
|
|
671
762
|
const validationData = {
|
|
763
|
+
/**
|
|
764
|
+
* initialize and gather data for the given attribute.
|
|
765
|
+
*
|
|
766
|
+
* @param attribute
|
|
767
|
+
* @param masterData
|
|
768
|
+
* @returns
|
|
769
|
+
*/
|
|
672
770
|
initializeAndGatherData: function(attribute, masterData) {
|
|
673
771
|
const data = dotify(this.initializeAttributeOnData(attribute, masterData));
|
|
674
772
|
return {
|
|
@@ -676,6 +774,13 @@ const validationData = {
|
|
|
676
774
|
...this.extractValuesFromWildCards(masterData, data, attribute)
|
|
677
775
|
};
|
|
678
776
|
},
|
|
777
|
+
/**
|
|
778
|
+
* Gather a copy of the attribute data filled with any missing attributes.
|
|
779
|
+
*
|
|
780
|
+
* @param attribute
|
|
781
|
+
* @param masterData
|
|
782
|
+
* @returns
|
|
783
|
+
*/
|
|
679
784
|
initializeAttributeOnData: function(attribute, masterData) {
|
|
680
785
|
const explicitPath = this.getLeadingExplicitAttributePath(attribute);
|
|
681
786
|
const data = this.extractDataFromPath(explicitPath, JSON.parse(JSON.stringify(masterData)));
|
|
@@ -683,6 +788,14 @@ const validationData = {
|
|
|
683
788
|
deepSet(data, attribute, null);
|
|
684
789
|
return data;
|
|
685
790
|
},
|
|
791
|
+
/**
|
|
792
|
+
* Get all of the exact attribute values for a given wildcard attribute.
|
|
793
|
+
*
|
|
794
|
+
* @param masterData
|
|
795
|
+
* @param data
|
|
796
|
+
* @param attribute
|
|
797
|
+
* @returns
|
|
798
|
+
*/
|
|
686
799
|
extractValuesFromWildCards(masterData, data, attribute) {
|
|
687
800
|
const keys = [];
|
|
688
801
|
const pattern = new RegExp("^" + attribute.replace(/\*/g, "[^\\.]*"));
|
|
@@ -695,9 +808,22 @@ const validationData = {
|
|
|
695
808
|
keys.forEach((key) => data[key] = deepFind(masterData, key));
|
|
696
809
|
return data;
|
|
697
810
|
},
|
|
811
|
+
/**
|
|
812
|
+
* Get the explicit part of the attribute name - ex: 'foo.bar.*.baz' -> 'foo.bar'
|
|
813
|
+
*
|
|
814
|
+
* @param attribute
|
|
815
|
+
* @returns
|
|
816
|
+
*/
|
|
698
817
|
getLeadingExplicitAttributePath: function(attribute) {
|
|
699
818
|
return attribute.split("*")[0].replace(/\.$/, "");
|
|
700
819
|
},
|
|
820
|
+
/**
|
|
821
|
+
* Extract data based on the given dot-notated path.
|
|
822
|
+
*
|
|
823
|
+
* @param path
|
|
824
|
+
* @param masterData
|
|
825
|
+
* @returns
|
|
826
|
+
*/
|
|
701
827
|
extractDataFromPath(path, masterData) {
|
|
702
828
|
const results = {};
|
|
703
829
|
const value = deepFind(masterData, path);
|
|
@@ -705,7 +831,6 @@ const validationData = {
|
|
|
705
831
|
return results;
|
|
706
832
|
}
|
|
707
833
|
};
|
|
708
|
-
|
|
709
834
|
//#endregion
|
|
710
835
|
//#region src/Rules/closureValidationRule.ts
|
|
711
836
|
var ClosureValidationRule = class extends IRuleContract {
|
|
@@ -734,10 +859,16 @@ var ClosureValidationRule = class extends IRuleContract {
|
|
|
734
859
|
return !this.failed;
|
|
735
860
|
}
|
|
736
861
|
};
|
|
737
|
-
|
|
738
862
|
//#endregion
|
|
739
863
|
//#region src/validators/validationRuleParser.ts
|
|
740
864
|
const validationRuleParser = {
|
|
865
|
+
/**
|
|
866
|
+
* Convert rules to array
|
|
867
|
+
*
|
|
868
|
+
* @param rules
|
|
869
|
+
* @param data
|
|
870
|
+
* @returns
|
|
871
|
+
*/
|
|
741
872
|
explodeRules: function(rules, data = {}) {
|
|
742
873
|
const implicitAttributes = {};
|
|
743
874
|
for (const key in rules) if (key.indexOf("*") !== -1) {
|
|
@@ -750,6 +881,15 @@ const validationRuleParser = {
|
|
|
750
881
|
implicitAttributes
|
|
751
882
|
};
|
|
752
883
|
},
|
|
884
|
+
/**
|
|
885
|
+
* Define a set of rules that apply to each element in an array attribute.
|
|
886
|
+
*
|
|
887
|
+
* @param results
|
|
888
|
+
* @param attribute
|
|
889
|
+
* @param masterData
|
|
890
|
+
* @param implicitAttributes
|
|
891
|
+
* @returns
|
|
892
|
+
*/
|
|
753
893
|
explodeWildCardRules: function(results, attribute, masterData, implicitAttributes) {
|
|
754
894
|
const pattern = new RegExp("^" + attribute.replace(/\*/g, "[^.]*") + "$");
|
|
755
895
|
const data = validationData.initializeAndGatherData(attribute, masterData);
|
|
@@ -761,25 +901,45 @@ const validationRuleParser = {
|
|
|
761
901
|
}
|
|
762
902
|
return results;
|
|
763
903
|
},
|
|
904
|
+
/**
|
|
905
|
+
* Merge additional rules into a given attribute.
|
|
906
|
+
*
|
|
907
|
+
* @param results
|
|
908
|
+
* @param attribute
|
|
909
|
+
* @param rules
|
|
910
|
+
* @returns
|
|
911
|
+
*/
|
|
764
912
|
mergeRulesForAttribute(results, attribute, rules) {
|
|
765
913
|
const merge = this.explodeRules([rules]).rules[0];
|
|
766
914
|
results[attribute] = [...results[attribute] ? this.explodeExplicitRules(results[attribute]) : [], ...merge];
|
|
767
915
|
return results;
|
|
768
916
|
},
|
|
917
|
+
/**
|
|
918
|
+
* In case the rules specified by the user are a string seperated with '|' - convert them to an array
|
|
919
|
+
*/
|
|
769
920
|
explodeExplicitRules: function(rules) {
|
|
770
921
|
if (typeof rules === "string") return rules.split("|");
|
|
771
922
|
if (!Array.isArray(rules)) return [this.prepareRule(rules)];
|
|
772
923
|
return rules.map((rule) => this.prepareRule(rule));
|
|
773
924
|
},
|
|
925
|
+
/**
|
|
926
|
+
* Prepare the given rule for the Validator.
|
|
927
|
+
*/
|
|
774
928
|
prepareRule(rule) {
|
|
775
929
|
if (rule instanceof IRuleContract) return rule;
|
|
776
930
|
if (typeof rule === "function") return new ClosureValidationRule(rule);
|
|
777
931
|
return rule.toString();
|
|
778
932
|
},
|
|
933
|
+
/**
|
|
934
|
+
* Extract the rule name and parameters from a rule.
|
|
935
|
+
*/
|
|
779
936
|
parse(rule) {
|
|
780
937
|
if (rule instanceof IRuleContract) return [rule, []];
|
|
781
938
|
return this.parseStringRule(rule);
|
|
782
939
|
},
|
|
940
|
+
/**
|
|
941
|
+
* Parse the parameters associated with a rule
|
|
942
|
+
*/
|
|
783
943
|
parseStringRule: function(rule) {
|
|
784
944
|
let parameters = [];
|
|
785
945
|
let parameter;
|
|
@@ -789,6 +949,14 @@ const validationRuleParser = {
|
|
|
789
949
|
}
|
|
790
950
|
return [rule, parameters];
|
|
791
951
|
},
|
|
952
|
+
/**
|
|
953
|
+
* Get a rule and its parameters for a given attribute.
|
|
954
|
+
*
|
|
955
|
+
* @param attribute
|
|
956
|
+
* @param searchRules
|
|
957
|
+
* @param availableRules
|
|
958
|
+
* @returns
|
|
959
|
+
*/
|
|
792
960
|
getRule: function(attribute, searchRules, availableRules) {
|
|
793
961
|
if (!availableRules[attribute]) return [];
|
|
794
962
|
searchRules = Array.isArray(searchRules) ? searchRules : [searchRules];
|
|
@@ -798,11 +966,13 @@ const validationRuleParser = {
|
|
|
798
966
|
}
|
|
799
967
|
return [];
|
|
800
968
|
},
|
|
969
|
+
/**
|
|
970
|
+
* Determine if the given attribute has a rule in the given set of available rules.
|
|
971
|
+
*/
|
|
801
972
|
hasRule: function(attribute, searchRules, availableRules) {
|
|
802
973
|
return this.getRule(attribute, searchRules, availableRules).length > 0;
|
|
803
974
|
}
|
|
804
975
|
};
|
|
805
|
-
|
|
806
976
|
//#endregion
|
|
807
977
|
//#region src/validators/validateAttributes.ts
|
|
808
978
|
var validateAttributes = class {
|
|
@@ -1406,7 +1576,7 @@ var validateAttributes = class {
|
|
|
1406
1576
|
*/
|
|
1407
1577
|
validateUrl(value) {
|
|
1408
1578
|
if (typeof value !== "string") return false;
|
|
1409
|
-
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);
|
|
1579
|
+
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);
|
|
1410
1580
|
}
|
|
1411
1581
|
/**
|
|
1412
1582
|
* Determine if a comparison passes between the given values.
|
|
@@ -1489,7 +1659,6 @@ var validateAttributes = class {
|
|
|
1489
1659
|
return stringValue.split(".")[1]?.length ?? 0;
|
|
1490
1660
|
}
|
|
1491
1661
|
};
|
|
1492
|
-
|
|
1493
1662
|
//#endregion
|
|
1494
1663
|
//#region src/Rules/registerRule.ts
|
|
1495
1664
|
function register(rule, validate, replaceMessage) {
|
|
@@ -1502,7 +1671,6 @@ function register(rule, validate, replaceMessage) {
|
|
|
1502
1671
|
function registerImplicit(rule, validate, replaceMessage) {
|
|
1503
1672
|
if (register(rule, validate, replaceMessage) === true) addImplicitRule(rule);
|
|
1504
1673
|
}
|
|
1505
|
-
|
|
1506
1674
|
//#endregion
|
|
1507
1675
|
//#region src/Plugin.ts
|
|
1508
1676
|
const valueInspectors = [];
|
|
@@ -1546,7 +1714,6 @@ function getValidationSize(value, hasNumericRule = false) {
|
|
|
1546
1714
|
if (typeof value === "object" && value !== null) return Object.keys(value).length;
|
|
1547
1715
|
return -1;
|
|
1548
1716
|
}
|
|
1549
|
-
|
|
1550
1717
|
//#endregion
|
|
1551
1718
|
//#region src/utilities/general.ts
|
|
1552
1719
|
const implicitRues = [
|
|
@@ -1680,7 +1847,6 @@ function convertValuesToNull(values) {
|
|
|
1680
1847
|
return value;
|
|
1681
1848
|
});
|
|
1682
1849
|
}
|
|
1683
|
-
|
|
1684
1850
|
//#endregion
|
|
1685
1851
|
//#region src/utilities/object.ts
|
|
1686
1852
|
/**
|
|
@@ -1757,7 +1923,6 @@ function deepEqual(firstParam, secondParam) {
|
|
|
1757
1923
|
if (Object.keys(first).length !== Object.keys(second).length) return false;
|
|
1758
1924
|
return Object.entries(first).every(([key, value]) => second[key] === value);
|
|
1759
1925
|
}
|
|
1760
|
-
|
|
1761
1926
|
//#endregion
|
|
1762
1927
|
//#region src/utilities/formatMessages.ts
|
|
1763
1928
|
/**
|
|
@@ -1843,7 +2008,6 @@ function getPrimaryKeyFromPath(path) {
|
|
|
1843
2008
|
if (isNaN(parseInt(key)) === false) return getPrimaryKeyFromPath(splittedPath.join("."));
|
|
1844
2009
|
return key;
|
|
1845
2010
|
}
|
|
1846
|
-
|
|
1847
2011
|
//#endregion
|
|
1848
2012
|
//#region src/validators/errorBag.ts
|
|
1849
2013
|
var ErrorBag = class ErrorBag {
|
|
@@ -1952,7 +2116,6 @@ var ErrorBag = class ErrorBag {
|
|
|
1952
2116
|
return new ErrorBag({ ...this.errors }, { ...this.messages }, this.firstMessage, this.withErrorTypes);
|
|
1953
2117
|
}
|
|
1954
2118
|
};
|
|
1955
|
-
|
|
1956
2119
|
//#endregion
|
|
1957
2120
|
//#region src/Rules/password.ts
|
|
1958
2121
|
var Password$1 = class Password$1 extends IRuleContract {
|
|
@@ -2143,14 +2306,12 @@ var Password$1 = class Password$1 extends IRuleContract {
|
|
|
2143
2306
|
return password instanceof IRuleContract ? password : Password$1.create().min(8);
|
|
2144
2307
|
}
|
|
2145
2308
|
};
|
|
2146
|
-
|
|
2147
2309
|
//#endregion
|
|
2148
2310
|
//#region src/utilities/build.ts
|
|
2149
2311
|
function buildValidationMethodName(rule) {
|
|
2150
2312
|
if (!rule) return rule;
|
|
2151
2313
|
return rule.split("_").map((rule) => `${rule[0].toUpperCase()}${rule.slice(1)}`).join("");
|
|
2152
2314
|
}
|
|
2153
|
-
|
|
2154
2315
|
//#endregion
|
|
2155
2316
|
//#region src/payloads/replaceAttributePayload.ts
|
|
2156
2317
|
var replaceAttributePayload = class {
|
|
@@ -2182,7 +2343,6 @@ var replaceAttributePayload = class {
|
|
|
2182
2343
|
this.getDisplayableAttribute = getDisplayableAttribute;
|
|
2183
2344
|
}
|
|
2184
2345
|
};
|
|
2185
|
-
|
|
2186
2346
|
//#endregion
|
|
2187
2347
|
//#region src/BaseValidator.ts
|
|
2188
2348
|
var BaseValidator = class BaseValidator {
|
|
@@ -2659,11 +2819,9 @@ var BaseValidator = class BaseValidator {
|
|
|
2659
2819
|
return [];
|
|
2660
2820
|
}
|
|
2661
2821
|
};
|
|
2662
|
-
|
|
2663
2822
|
//#endregion
|
|
2664
2823
|
//#region src/Contracts/IDatabaseDriver.ts
|
|
2665
2824
|
var IDatabaseDriver = class {};
|
|
2666
|
-
|
|
2667
2825
|
//#endregion
|
|
2668
2826
|
//#region src/Rules/in.ts
|
|
2669
2827
|
var In = class extends BaseRule {
|
|
@@ -2689,7 +2847,6 @@ var In = class extends BaseRule {
|
|
|
2689
2847
|
return `${this.rule}:${this.values.join(",")}`;
|
|
2690
2848
|
}
|
|
2691
2849
|
};
|
|
2692
|
-
|
|
2693
2850
|
//#endregion
|
|
2694
2851
|
//#region src/Rules/notIn.ts
|
|
2695
2852
|
var NotIn = class extends BaseRule {
|
|
@@ -2715,7 +2872,6 @@ var NotIn = class extends BaseRule {
|
|
|
2715
2872
|
return `${this.rule}:${this.values.join(",")}`;
|
|
2716
2873
|
}
|
|
2717
2874
|
};
|
|
2718
|
-
|
|
2719
2875
|
//#endregion
|
|
2720
2876
|
//#region src/Rules/regex.ts
|
|
2721
2877
|
var Regex = class extends IRuleContract {
|
|
@@ -2741,7 +2897,6 @@ var Regex = class extends IRuleContract {
|
|
|
2741
2897
|
return this.trans("not_regex");
|
|
2742
2898
|
}
|
|
2743
2899
|
};
|
|
2744
|
-
|
|
2745
2900
|
//#endregion
|
|
2746
2901
|
//#region src/Rules/requiredIf.ts
|
|
2747
2902
|
var RequiredIf = class extends BaseRule {
|
|
@@ -2764,7 +2919,6 @@ var RequiredIf = class extends BaseRule {
|
|
|
2764
2919
|
return this.condition ? "required" : "";
|
|
2765
2920
|
}
|
|
2766
2921
|
};
|
|
2767
|
-
|
|
2768
2922
|
//#endregion
|
|
2769
2923
|
//#region src/rule.ts
|
|
2770
2924
|
function requiredIf(callback) {
|
|
@@ -2782,32 +2936,29 @@ function regex(value) {
|
|
|
2782
2936
|
function notRegex(value) {
|
|
2783
2937
|
return new Regex(value, false);
|
|
2784
2938
|
}
|
|
2785
|
-
|
|
2786
2939
|
//#endregion
|
|
2787
2940
|
//#region src/Core.ts
|
|
2788
2941
|
var Password = class extends Password$1 {};
|
|
2789
2942
|
function make(data = {}, rules = {}, customMessages = {}, customAttributes = {}) {
|
|
2790
2943
|
return new BaseValidator(data, rules, customMessages, customAttributes);
|
|
2791
2944
|
}
|
|
2792
|
-
|
|
2793
2945
|
//#endregion
|
|
2794
2946
|
//#region src/Rules/IImplicitRule.ts
|
|
2795
2947
|
var IImplicitRule = class extends IRuleContract {
|
|
2796
2948
|
__isImplicitRule = true;
|
|
2797
2949
|
};
|
|
2798
|
-
|
|
2799
2950
|
//#endregion
|
|
2800
2951
|
//#region src/ImplicitRule.ts
|
|
2801
2952
|
var ImplicitRule = class extends IImplicitRule {
|
|
2802
2953
|
rules = [];
|
|
2803
2954
|
};
|
|
2804
|
-
|
|
2805
2955
|
//#endregion
|
|
2806
2956
|
//#region src/Providers/ValidationServiceProvider.ts
|
|
2807
2957
|
/**
|
|
2808
2958
|
* Service provider for Validation utilities
|
|
2809
2959
|
*/
|
|
2810
2960
|
var ValidationServiceProvider = class {
|
|
2961
|
+
app;
|
|
2811
2962
|
registeredCommands;
|
|
2812
2963
|
static priority = 895;
|
|
2813
2964
|
constructor(app) {
|
|
@@ -2822,7 +2973,6 @@ var ValidationServiceProvider = class {
|
|
|
2822
2973
|
*/
|
|
2823
2974
|
boot() {}
|
|
2824
2975
|
};
|
|
2825
|
-
|
|
2826
2976
|
//#endregion
|
|
2827
2977
|
//#region src/ValidationRule.ts
|
|
2828
2978
|
var ValidationRule = class extends IRuleContract {
|
|
@@ -2843,7 +2993,6 @@ var ValidationRule = class extends IRuleContract {
|
|
|
2843
2993
|
return this.passing;
|
|
2844
2994
|
}
|
|
2845
2995
|
};
|
|
2846
|
-
|
|
2847
2996
|
//#endregion
|
|
2848
2997
|
//#region src/Rules/ExtendedRules.ts
|
|
2849
2998
|
dayjs.extend(customParseFormat);
|
|
@@ -2953,7 +3102,6 @@ var ExtendedRules = class extends ValidationRule {
|
|
|
2953
3102
|
];
|
|
2954
3103
|
validate() {}
|
|
2955
3104
|
};
|
|
2956
|
-
|
|
2957
3105
|
//#endregion
|
|
2958
3106
|
//#region src/utilities/MessageBag.ts
|
|
2959
3107
|
var MessageBag = class {
|
|
@@ -3167,7 +3315,6 @@ var MessageBag = class {
|
|
|
3167
3315
|
return this.toJson();
|
|
3168
3316
|
}
|
|
3169
3317
|
};
|
|
3170
|
-
|
|
3171
3318
|
//#endregion
|
|
3172
3319
|
//#region src/Validator.ts
|
|
3173
3320
|
var Validator = class Validator {
|
|
@@ -3450,7 +3597,6 @@ var Validator = class Validator {
|
|
|
3450
3597
|
return this;
|
|
3451
3598
|
}
|
|
3452
3599
|
};
|
|
3453
|
-
|
|
3454
3600
|
//#endregion
|
|
3455
3601
|
//#region src/ValidationException.ts
|
|
3456
3602
|
var ValidationException = class ValidationException extends Error {
|
|
@@ -3538,6 +3684,5 @@ var ValidationException = class ValidationException extends Error {
|
|
|
3538
3684
|
return this.response;
|
|
3539
3685
|
}
|
|
3540
3686
|
};
|
|
3541
|
-
|
|
3542
3687
|
//#endregion
|
|
3543
|
-
export { BaseRule, BaseValidator, ErrorBag, ExtendedRules, IDatabaseDriver, ImplicitRule, Lang, MessageBag, Password, ValidationException, ValidationRule, ValidationServiceProvider, Validator, addImplicitRule, buildValidationMethodName, compare, convertValuesToBoolean, convertValuesToNull, convertValuesToNumber, deepEqual, deepFind, deepFindMessage, deepSet, definePlugin, dotify, getFormattedAttribute, getKeyCombinations, getMessage, getNumericRules, getSize, getValidationMessageType, getValidationSize, getValidationValueInspector, getValidatorContext, isArrayOfRules, isImplicitRule, isInteger, isNumericRule, isObject, isRule, isSizeRule, make, mergeDeep, notRegex, plural, regex, register, registerImplicit, registerValueInspector, requiredIf, ruleIn, ruleNotIn, runWithValidatorContext, sameType, toDate, toSnakeCase, usePlugin, useValidatorContext };
|
|
3688
|
+
export { BaseRule, BaseValidator, ErrorBag, ExtendedRules, IDatabaseDriver, ImplicitRule, Lang, MessageBag, Password, ValidationException, ValidationRule, ValidationServiceProvider, Validator, addImplicitRule, buildValidationMethodName, compare, convertValuesToBoolean, convertValuesToNull, convertValuesToNumber, deepEqual, deepFind, deepFindMessage, deepSet, definePlugin, dotify, getFormattedAttribute, getKeyCombinations, getMessage, getNumericRules, getSize, getValidationMessageType, getValidationSize, getValidationValueInspector, getValidatorContext, isArrayOfRules, isImplicitRule, isInteger, isNumericRule, isObject, isRule, isSizeRule, make, mergeDeep, notRegex, plural, regex, register, registerImplicit, registerValueInspector, requiredIf, ruleIn, ruleNotIn, runWithValidatorContext, sameType, toDate, toSnakeCase, usePlugin, useValidatorContext };
|