@arikajs/validation 0.0.4 → 0.0.5
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 +51 -15
- package/dist/Rules/Alpha.d.ts +6 -0
- package/dist/Rules/Alpha.d.ts.map +1 -0
- package/dist/Rules/Alpha.js +15 -0
- package/dist/Rules/Alpha.js.map +1 -0
- package/dist/Rules/AlphaNum.d.ts +6 -0
- package/dist/Rules/AlphaNum.d.ts.map +1 -0
- package/dist/Rules/AlphaNum.js +15 -0
- package/dist/Rules/AlphaNum.js.map +1 -0
- package/dist/Rules/Boolean.d.ts +6 -0
- package/dist/Rules/Boolean.d.ts.map +1 -0
- package/dist/Rules/Boolean.js +14 -0
- package/dist/Rules/Boolean.js.map +1 -0
- package/dist/Rules/Confirmed.d.ts +8 -0
- package/dist/Rules/Confirmed.d.ts.map +1 -0
- package/dist/Rules/Confirmed.js +17 -0
- package/dist/Rules/Confirmed.js.map +1 -0
- package/dist/Rules/In.d.ts +8 -0
- package/dist/Rules/In.d.ts.map +1 -0
- package/dist/Rules/In.js +16 -0
- package/dist/Rules/In.js.map +1 -0
- package/dist/Rules/IsArray.d.ts +6 -0
- package/dist/Rules/IsArray.d.ts.map +1 -0
- package/dist/Rules/IsArray.js +13 -0
- package/dist/Rules/IsArray.js.map +1 -0
- package/dist/Rules/NotIn.d.ts +8 -0
- package/dist/Rules/NotIn.d.ts.map +1 -0
- package/dist/Rules/NotIn.js +16 -0
- package/dist/Rules/NotIn.js.map +1 -0
- package/dist/Rules/Url.d.ts +6 -0
- package/dist/Rules/Url.d.ts.map +1 -0
- package/dist/Rules/Url.js +21 -0
- package/dist/Rules/Url.js.map +1 -0
- package/dist/ValidationError.d.ts +5 -0
- package/dist/ValidationError.d.ts.map +1 -1
- package/dist/ValidationError.js +22 -0
- package/dist/ValidationError.js.map +1 -1
- package/dist/Validator.d.ts.map +1 -1
- package/dist/Validator.js +53 -15
- package/dist/Validator.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/src/Rules/Alpha.d.ts +6 -0
- package/dist/src/Rules/Alpha.d.ts.map +1 -0
- package/dist/src/Rules/Alpha.js +15 -0
- package/dist/src/Rules/Alpha.js.map +1 -0
- package/dist/src/Rules/AlphaNum.d.ts +6 -0
- package/dist/src/Rules/AlphaNum.d.ts.map +1 -0
- package/dist/src/Rules/AlphaNum.js +15 -0
- package/dist/src/Rules/AlphaNum.js.map +1 -0
- package/dist/src/Rules/Boolean.d.ts +6 -0
- package/dist/src/Rules/Boolean.d.ts.map +1 -0
- package/dist/src/Rules/Boolean.js +14 -0
- package/dist/src/Rules/Boolean.js.map +1 -0
- package/dist/src/Rules/Confirmed.d.ts +8 -0
- package/dist/src/Rules/Confirmed.d.ts.map +1 -0
- package/dist/src/Rules/Confirmed.js +17 -0
- package/dist/src/Rules/Confirmed.js.map +1 -0
- package/dist/src/Rules/In.d.ts +8 -0
- package/dist/src/Rules/In.d.ts.map +1 -0
- package/dist/src/Rules/In.js +16 -0
- package/dist/src/Rules/In.js.map +1 -0
- package/dist/src/Rules/IsArray.d.ts +6 -0
- package/dist/src/Rules/IsArray.d.ts.map +1 -0
- package/dist/src/Rules/IsArray.js +13 -0
- package/dist/src/Rules/IsArray.js.map +1 -0
- package/dist/src/Rules/NotIn.d.ts +8 -0
- package/dist/src/Rules/NotIn.d.ts.map +1 -0
- package/dist/src/Rules/NotIn.js +16 -0
- package/dist/src/Rules/NotIn.js.map +1 -0
- package/dist/src/Rules/Url.d.ts +6 -0
- package/dist/src/Rules/Url.d.ts.map +1 -0
- package/dist/src/Rules/Url.js +21 -0
- package/dist/src/Rules/Url.js.map +1 -0
- package/dist/src/ValidationError.d.ts +5 -0
- package/dist/src/ValidationError.d.ts.map +1 -1
- package/dist/src/ValidationError.js +22 -0
- package/dist/src/ValidationError.js.map +1 -1
- package/dist/src/Validator.d.ts.map +1 -1
- package/dist/src/Validator.js +53 -15
- package/dist/src/Validator.js.map +1 -1
- package/dist/src/index.d.ts +9 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -1
- package/dist/tests/EnterpriseFeatures.test.d.ts +2 -0
- package/dist/tests/EnterpriseFeatures.test.d.ts.map +1 -0
- package/dist/tests/EnterpriseFeatures.test.js +116 -0
- package/dist/tests/EnterpriseFeatures.test.js.map +1 -0
- package/package.json +43 -41
package/README.md
CHANGED
|
@@ -121,6 +121,14 @@ password: 'required|min:8|max:32'
|
|
|
121
121
|
| `string` | Must be a string |
|
|
122
122
|
| `number` | Must be numeric |
|
|
123
123
|
| `required_if:field,value` | Required if another field matches a value |
|
|
124
|
+
| `in:foo,bar` | The field under validation must be included in the given list of values |
|
|
125
|
+
| `not_in:foo,bar` | The field under validation must not be included in the given list of values |
|
|
126
|
+
| `alpha` | The field under validation must be entirely alphabetic characters |
|
|
127
|
+
| `alpha_num` | The field under validation must be entirely alpha-numeric characters |
|
|
128
|
+
| `url` | Must be a valid URL |
|
|
129
|
+
| `boolean` | Must be a boolean (e.g., `true`, `false`, `1`, `0`) |
|
|
130
|
+
| `array` | Must be a JavaScript array |
|
|
131
|
+
| `confirmed` | The field must have a matching field of `_confirmation` (e.g. `password` needs `password_confirmation`) |
|
|
124
132
|
|
|
125
133
|
### 🚀 Advanced Features
|
|
126
134
|
|
|
@@ -183,6 +191,17 @@ if (validator.fails()) {
|
|
|
183
191
|
}
|
|
184
192
|
```
|
|
185
193
|
|
|
194
|
+
### Customizing Error Messages
|
|
195
|
+
|
|
196
|
+
You can pass an object of custom messages as the third argument to the `Validator` constructor. You can override globally for a rule or target specific fields.
|
|
197
|
+
|
|
198
|
+
```ts
|
|
199
|
+
const validator = new Validator(data, rules, {
|
|
200
|
+
'required': 'Hold up, you forgot the :attribute field!',
|
|
201
|
+
'email.email': 'Dude, that is not a real email address!'
|
|
202
|
+
});
|
|
203
|
+
```
|
|
204
|
+
|
|
186
205
|
---
|
|
187
206
|
|
|
188
207
|
## 🔌 Framework Integration
|
|
@@ -234,21 +253,37 @@ class UniqueEmail {
|
|
|
234
253
|
|
|
235
254
|
---
|
|
236
255
|
|
|
237
|
-
##
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
256
|
+
## 🏗 Architecture
|
|
257
|
+
|
|
258
|
+
```text
|
|
259
|
+
validation/
|
|
260
|
+
├── src/
|
|
261
|
+
│ ├── Rules
|
|
262
|
+
│ │ ├── Alpha.ts
|
|
263
|
+
│ │ ├── AlphaNum.ts
|
|
264
|
+
│ │ ├── Boolean.ts
|
|
265
|
+
│ │ ├── Confirmed.ts
|
|
266
|
+
│ │ ├── Email.ts
|
|
267
|
+
│ │ ├── In.ts
|
|
268
|
+
│ │ ├── IsArray.ts
|
|
269
|
+
│ │ ├── Max.ts
|
|
270
|
+
│ │ ├── Min.ts
|
|
271
|
+
│ │ ├── NotIn.ts
|
|
272
|
+
│ │ ├── Number.ts
|
|
273
|
+
│ │ ├── Required.ts
|
|
274
|
+
│ │ ├── RequiredIf.ts
|
|
275
|
+
│ │ ├── String.ts
|
|
276
|
+
│ │ └── Url.ts
|
|
277
|
+
│ ├── ErrorBag.ts
|
|
278
|
+
│ ├── index.ts
|
|
279
|
+
│ ├── Rule.ts
|
|
280
|
+
│ ├── ValidationError.ts
|
|
281
|
+
│ └── Validator.ts
|
|
282
|
+
├── tests/
|
|
283
|
+
├── package.json
|
|
284
|
+
├── tsconfig.json
|
|
285
|
+
└── README.md
|
|
286
|
+
```
|
|
252
287
|
|
|
253
288
|
---
|
|
254
289
|
|
|
@@ -269,3 +304,4 @@ class UniqueEmail {
|
|
|
269
304
|
## 🧠 Philosophy
|
|
270
305
|
|
|
271
306
|
> “Validation is not restriction — it is protection.”
|
|
307
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Alpha.d.ts","sourceRoot":"","sources":["../../src/Rules/Alpha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,qBAAa,KAAM,YAAW,IAAI;IAC9B,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAK7B,OAAO,IAAI,MAAM;CAGpB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Alpha = void 0;
|
|
4
|
+
class Alpha {
|
|
5
|
+
validate(value) {
|
|
6
|
+
if (typeof value !== 'string')
|
|
7
|
+
return false;
|
|
8
|
+
return /^[A-ZÅÄÖa-zåäö]+$/.test(value);
|
|
9
|
+
}
|
|
10
|
+
message() {
|
|
11
|
+
return 'The :attribute must only contain letters.';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.Alpha = Alpha;
|
|
15
|
+
//# sourceMappingURL=Alpha.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Alpha.js","sourceRoot":"","sources":["../../src/Rules/Alpha.ts"],"names":[],"mappings":";;;AAEA,MAAa,KAAK;IACd,QAAQ,CAAC,KAAU;QACf,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO;QACH,OAAO,2CAA2C,CAAC;IACvD,CAAC;CACJ;AATD,sBASC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlphaNum.d.ts","sourceRoot":"","sources":["../../src/Rules/AlphaNum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,qBAAa,QAAS,YAAW,IAAI;IACjC,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAK7B,OAAO,IAAI,MAAM;CAGpB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AlphaNum = void 0;
|
|
4
|
+
class AlphaNum {
|
|
5
|
+
validate(value) {
|
|
6
|
+
if (typeof value !== 'string' && typeof value !== 'number')
|
|
7
|
+
return false;
|
|
8
|
+
return /^[A-ZÅÄÖa-zåäö0-9]+$/.test(String(value));
|
|
9
|
+
}
|
|
10
|
+
message() {
|
|
11
|
+
return 'The :attribute must only contain letters and numbers.';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.AlphaNum = AlphaNum;
|
|
15
|
+
//# sourceMappingURL=AlphaNum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlphaNum.js","sourceRoot":"","sources":["../../src/Rules/AlphaNum.ts"],"names":[],"mappings":";;;AAEA,MAAa,QAAQ;IACjB,QAAQ,CAAC,KAAU;QACf,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACzE,OAAO,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;QACH,OAAO,uDAAuD,CAAC;IACnE,CAAC;CACJ;AATD,4BASC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Boolean.d.ts","sourceRoot":"","sources":["../../src/Rules/Boolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,qBAAa,SAAU,YAAW,IAAI;IAClC,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAK7B,OAAO,IAAI,MAAM;CAGpB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IsBoolean = void 0;
|
|
4
|
+
class IsBoolean {
|
|
5
|
+
validate(value) {
|
|
6
|
+
const acceptable = [true, false, 1, 0, '1', '0', 'true', 'false'];
|
|
7
|
+
return acceptable.includes(value);
|
|
8
|
+
}
|
|
9
|
+
message() {
|
|
10
|
+
return 'The :attribute field must be true or false.';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.IsBoolean = IsBoolean;
|
|
14
|
+
//# sourceMappingURL=Boolean.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Boolean.js","sourceRoot":"","sources":["../../src/Rules/Boolean.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IAClB,QAAQ,CAAC,KAAU;QACf,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAClE,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACH,OAAO,6CAA6C,CAAC;IACzD,CAAC;CACJ;AATD,8BASC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Confirmed.d.ts","sourceRoot":"","sources":["../../src/Rules/Confirmed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,qBAAa,SAAU,YAAW,IAAI;IAClC,OAAO,CAAC,IAAI,CAAM;gBAEN,IAAI,EAAE,GAAG;IAIrB,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAKhD,OAAO,IAAI,MAAM;CAGpB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Confirmed = void 0;
|
|
4
|
+
class Confirmed {
|
|
5
|
+
constructor(data) {
|
|
6
|
+
this.data = data;
|
|
7
|
+
}
|
|
8
|
+
validate(value, attribute) {
|
|
9
|
+
const confirmField = `${attribute}_confirmation`;
|
|
10
|
+
return value === this.data[confirmField];
|
|
11
|
+
}
|
|
12
|
+
message() {
|
|
13
|
+
return 'The :attribute confirmation does not match.';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.Confirmed = Confirmed;
|
|
17
|
+
//# sourceMappingURL=Confirmed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Confirmed.js","sourceRoot":"","sources":["../../src/Rules/Confirmed.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IAGlB,YAAY,IAAS;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,KAAU,EAAE,SAAiB;QAClC,MAAM,YAAY,GAAG,GAAG,SAAS,eAAe,CAAC;QACjD,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACH,OAAO,6CAA6C,CAAC;IACzD,CAAC;CACJ;AAfD,8BAeC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"In.d.ts","sourceRoot":"","sources":["../../src/Rules/In.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,qBAAa,EAAG,YAAW,IAAI;IAC3B,OAAO,CAAC,aAAa,CAAQ;gBAEjB,aAAa,EAAE,GAAG,EAAE;IAIhC,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAI7B,OAAO,IAAI,MAAM;CAGpB"}
|
package/dist/Rules/In.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.In = void 0;
|
|
4
|
+
class In {
|
|
5
|
+
constructor(allowedValues) {
|
|
6
|
+
this.allowedValues = allowedValues;
|
|
7
|
+
}
|
|
8
|
+
validate(value) {
|
|
9
|
+
return this.allowedValues.map(String).includes(String(value));
|
|
10
|
+
}
|
|
11
|
+
message() {
|
|
12
|
+
return 'The selected :attribute is invalid.';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.In = In;
|
|
16
|
+
//# sourceMappingURL=In.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"In.js","sourceRoot":"","sources":["../../src/Rules/In.ts"],"names":[],"mappings":";;;AAEA,MAAa,EAAE;IAGX,YAAY,aAAoB;QAC5B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,KAAU;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO;QACH,OAAO,qCAAqC,CAAC;IACjD,CAAC;CACJ;AAdD,gBAcC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsArray.d.ts","sourceRoot":"","sources":["../../src/Rules/IsArray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,qBAAa,OAAQ,YAAW,IAAI;IAChC,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAI7B,OAAO,IAAI,MAAM;CAGpB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IsArray = void 0;
|
|
4
|
+
class IsArray {
|
|
5
|
+
validate(value) {
|
|
6
|
+
return Array.isArray(value);
|
|
7
|
+
}
|
|
8
|
+
message() {
|
|
9
|
+
return 'The :attribute must be an array.';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.IsArray = IsArray;
|
|
13
|
+
//# sourceMappingURL=IsArray.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsArray.js","sourceRoot":"","sources":["../../src/Rules/IsArray.ts"],"names":[],"mappings":";;;AAEA,MAAa,OAAO;IAChB,QAAQ,CAAC,KAAU;QACf,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACH,OAAO,kCAAkC,CAAC;IAC9C,CAAC;CACJ;AARD,0BAQC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotIn.d.ts","sourceRoot":"","sources":["../../src/Rules/NotIn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,qBAAa,KAAM,YAAW,IAAI;IAC9B,OAAO,CAAC,gBAAgB,CAAQ;gBAEpB,gBAAgB,EAAE,GAAG,EAAE;IAInC,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAI7B,OAAO,IAAI,MAAM;CAGpB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotIn = void 0;
|
|
4
|
+
class NotIn {
|
|
5
|
+
constructor(disallowedValues) {
|
|
6
|
+
this.disallowedValues = disallowedValues;
|
|
7
|
+
}
|
|
8
|
+
validate(value) {
|
|
9
|
+
return !this.disallowedValues.map(String).includes(String(value));
|
|
10
|
+
}
|
|
11
|
+
message() {
|
|
12
|
+
return 'The selected :attribute is invalid.';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.NotIn = NotIn;
|
|
16
|
+
//# sourceMappingURL=NotIn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotIn.js","sourceRoot":"","sources":["../../src/Rules/NotIn.ts"],"names":[],"mappings":";;;AAEA,MAAa,KAAK;IAGd,YAAY,gBAAuB;QAC/B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC7C,CAAC;IAED,QAAQ,CAAC,KAAU;QACf,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,OAAO;QACH,OAAO,qCAAqC,CAAC;IACjD,CAAC;CACJ;AAdD,sBAcC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Url.d.ts","sourceRoot":"","sources":["../../src/Rules/Url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,qBAAa,GAAI,YAAW,IAAI;IAC5B,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAU7B,OAAO,IAAI,MAAM;CAGpB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Url = void 0;
|
|
4
|
+
class Url {
|
|
5
|
+
validate(value) {
|
|
6
|
+
if (typeof value !== 'string')
|
|
7
|
+
return false;
|
|
8
|
+
try {
|
|
9
|
+
new URL(value);
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
message() {
|
|
17
|
+
return 'The :attribute format is invalid.';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.Url = Url;
|
|
21
|
+
//# sourceMappingURL=Url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Url.js","sourceRoot":"","sources":["../../src/Rules/Url.ts"],"names":[],"mappings":";;;AAEA,MAAa,GAAG;IACZ,QAAQ,CAAC,KAAU;QACf,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,CAAC;YACD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO;QACH,OAAO,mCAAmC,CAAC;IAC/C,CAAC;CACJ;AAdD,kBAcC"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
export declare class ValidationError extends Error {
|
|
2
2
|
errors: Record<string, string[]>;
|
|
3
|
+
status: number;
|
|
3
4
|
constructor(errors: Record<string, string[]>);
|
|
5
|
+
/**
|
|
6
|
+
* Render the error into an HTTP response.
|
|
7
|
+
*/
|
|
8
|
+
render(request: any, response: any): any;
|
|
4
9
|
}
|
|
5
10
|
//# sourceMappingURL=ValidationError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationError.d.ts","sourceRoot":"","sources":["../src/ValidationError.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAgB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"ValidationError.d.ts","sourceRoot":"","sources":["../src/ValidationError.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAgB,SAAQ,KAAK;IAGnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAF5C,MAAM,SAAO;gBAED,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAKnD;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;CAoB5C"}
|
package/dist/ValidationError.js
CHANGED
|
@@ -5,8 +5,30 @@ class ValidationError extends Error {
|
|
|
5
5
|
constructor(errors) {
|
|
6
6
|
super('The given data was invalid.');
|
|
7
7
|
this.errors = errors;
|
|
8
|
+
this.status = 422;
|
|
8
9
|
this.name = 'ValidationError';
|
|
9
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Render the error into an HTTP response.
|
|
13
|
+
*/
|
|
14
|
+
render(request, response) {
|
|
15
|
+
if (request.expectsJson()) {
|
|
16
|
+
return response.status(this.status).json({
|
|
17
|
+
message: this.message,
|
|
18
|
+
errors: this.errors
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
// For web requests, we redirect back with errors and old input
|
|
22
|
+
// Note: ArikaJS should have a session.flashErrors or similar.
|
|
23
|
+
// For now, we'll redirect back. If sessions are enabled, they will handle the flashing.
|
|
24
|
+
if (typeof response.back === 'function') {
|
|
25
|
+
return response.back(request);
|
|
26
|
+
}
|
|
27
|
+
return response.status(this.status).json({
|
|
28
|
+
message: this.message,
|
|
29
|
+
errors: this.errors
|
|
30
|
+
});
|
|
31
|
+
}
|
|
10
32
|
}
|
|
11
33
|
exports.ValidationError = ValidationError;
|
|
12
34
|
//# sourceMappingURL=ValidationError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationError.js","sourceRoot":"","sources":["../src/ValidationError.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAgB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"ValidationError.js","sourceRoot":"","sources":["../src/ValidationError.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAgB,SAAQ,KAAK;IAGtC,YAAmB,MAAgC;QAC/C,KAAK,CAAC,6BAA6B,CAAC,CAAC;QADtB,WAAM,GAAN,MAAM,CAA0B;QAF5C,WAAM,GAAG,GAAG,CAAC;QAIhB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAAY,EAAE,QAAa;QACrC,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAC;QACP,CAAC;QAED,+DAA+D;QAC/D,+DAA+D;QAC/D,wFAAwF;QACxF,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAC;IACP,CAAC;CACJ;AA/BD,0CA+BC"}
|
package/dist/Validator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAkB9B,qBAAa,SAAS;IAClB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,YAAY,CAAoD;IACxE,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,aAAa,CAA2B;gBAG5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAM,EAC7D,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAmBzC;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAsDzC,OAAO,CAAC,iBAAiB;IAIZ,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAIlC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIvC;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAI7C,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,eAAe;CAwB1B"}
|
package/dist/Validator.js
CHANGED
|
@@ -9,6 +9,14 @@ const Max_1 = require("./Rules/Max");
|
|
|
9
9
|
const String_1 = require("./Rules/String");
|
|
10
10
|
const Number_1 = require("./Rules/Number");
|
|
11
11
|
const RequiredIf_1 = require("./Rules/RequiredIf");
|
|
12
|
+
const In_1 = require("./Rules/In");
|
|
13
|
+
const NotIn_1 = require("./Rules/NotIn");
|
|
14
|
+
const Alpha_1 = require("./Rules/Alpha");
|
|
15
|
+
const AlphaNum_1 = require("./Rules/AlphaNum");
|
|
16
|
+
const Url_1 = require("./Rules/Url");
|
|
17
|
+
const Boolean_1 = require("./Rules/Boolean");
|
|
18
|
+
const IsArray_1 = require("./Rules/IsArray");
|
|
19
|
+
const Confirmed_1 = require("./Rules/Confirmed");
|
|
12
20
|
class Validator {
|
|
13
21
|
constructor(data, rules = {}, messages = {}) {
|
|
14
22
|
this.messages = {};
|
|
@@ -23,6 +31,11 @@ class Validator {
|
|
|
23
31
|
this.customRules.set('email', new Email_1.Email());
|
|
24
32
|
this.customRules.set('string', new String_1.IsString());
|
|
25
33
|
this.customRules.set('number', new Number_1.IsNumber());
|
|
34
|
+
this.customRules.set('alpha', new Alpha_1.Alpha());
|
|
35
|
+
this.customRules.set('alpha_num', new AlphaNum_1.AlphaNum());
|
|
36
|
+
this.customRules.set('url', new Url_1.Url());
|
|
37
|
+
this.customRules.set('boolean', new Boolean_1.IsBoolean());
|
|
38
|
+
this.customRules.set('array', new IsArray_1.IsArray());
|
|
26
39
|
}
|
|
27
40
|
/**
|
|
28
41
|
* Determine if the data passes the validation rules.
|
|
@@ -42,9 +55,10 @@ class Validator {
|
|
|
42
55
|
continue;
|
|
43
56
|
}
|
|
44
57
|
let failed = false;
|
|
45
|
-
for (const
|
|
58
|
+
for (const item of ruleSet) {
|
|
59
|
+
const { rule, name: ruleName } = item;
|
|
46
60
|
// Skip pseudo-rules
|
|
47
|
-
if (
|
|
61
|
+
if (ruleName === 'nullable' || ruleName === 'bail') {
|
|
48
62
|
continue;
|
|
49
63
|
}
|
|
50
64
|
// If value is null/undefined/empty and rule is NOT 'required' (or similar), skip validation
|
|
@@ -53,7 +67,8 @@ class Validator {
|
|
|
53
67
|
}
|
|
54
68
|
const passes = await rule.validate(value, attribute);
|
|
55
69
|
if (!passes) {
|
|
56
|
-
const
|
|
70
|
+
const defaultMessage = rule.message();
|
|
71
|
+
const message = this.formatMessage(defaultMessage, attribute, ruleName);
|
|
57
72
|
this.errorBag.add(attribute, message);
|
|
58
73
|
failed = true;
|
|
59
74
|
if (shouldBail) {
|
|
@@ -100,7 +115,7 @@ class Validator {
|
|
|
100
115
|
if (typeof r === 'string') {
|
|
101
116
|
return r.split('|').map(sub => this.createRuleFromString(sub));
|
|
102
117
|
}
|
|
103
|
-
return r;
|
|
118
|
+
return { rule: r, name: r.constructor.name.toLowerCase() };
|
|
104
119
|
});
|
|
105
120
|
}
|
|
106
121
|
createRuleFromString(ruleString) {
|
|
@@ -108,28 +123,41 @@ class Validator {
|
|
|
108
123
|
const name = fullRule.trim();
|
|
109
124
|
const params = rest.length > 0 ? rest.join(':') : '';
|
|
110
125
|
const parameters = params ? params.split(',') : [];
|
|
126
|
+
let rule;
|
|
111
127
|
switch (name) {
|
|
112
128
|
case 'min':
|
|
113
|
-
|
|
129
|
+
rule = new Min_1.Min(Number(parameters[0]));
|
|
130
|
+
break;
|
|
114
131
|
case 'max':
|
|
115
|
-
|
|
132
|
+
rule = new Max_1.Max(Number(parameters[0]));
|
|
133
|
+
break;
|
|
134
|
+
case 'in':
|
|
135
|
+
rule = new In_1.In(parameters);
|
|
136
|
+
break;
|
|
137
|
+
case 'not_in':
|
|
138
|
+
rule = new NotIn_1.NotIn(parameters);
|
|
139
|
+
break;
|
|
140
|
+
case 'confirmed':
|
|
141
|
+
rule = new Confirmed_1.Confirmed(this.data);
|
|
142
|
+
break;
|
|
116
143
|
case 'required_if':
|
|
117
|
-
|
|
144
|
+
rule = new RequiredIf_1.RequiredIf(parameters[0], parameters[1], this.data);
|
|
145
|
+
break;
|
|
118
146
|
case 'nullable':
|
|
119
147
|
case 'bail':
|
|
120
|
-
|
|
121
|
-
return {
|
|
122
|
-
name,
|
|
148
|
+
rule = {
|
|
123
149
|
validate: async () => true,
|
|
124
150
|
message: () => ''
|
|
125
151
|
};
|
|
152
|
+
break;
|
|
126
153
|
default:
|
|
127
|
-
const
|
|
128
|
-
if (!
|
|
154
|
+
const registered = this.customRules.get(name);
|
|
155
|
+
if (!registered) {
|
|
129
156
|
throw new Error(`Validation rule '${name}' not found.`);
|
|
130
157
|
}
|
|
131
|
-
|
|
158
|
+
rule = registered;
|
|
132
159
|
}
|
|
160
|
+
return { rule, name };
|
|
133
161
|
}
|
|
134
162
|
getValue(key) {
|
|
135
163
|
return key.split('.').reduce((o, i) => (o ? o[i] : undefined), this.data);
|
|
@@ -151,8 +179,18 @@ class Validator {
|
|
|
151
179
|
isEmpty(value) {
|
|
152
180
|
return value === null || value === undefined || value === '';
|
|
153
181
|
}
|
|
154
|
-
formatMessage(
|
|
155
|
-
|
|
182
|
+
formatMessage(defaultMessage, attribute, ruleName) {
|
|
183
|
+
// Look for exact attribute.rule custom message
|
|
184
|
+
let template = this.messages[`${attribute}.${ruleName}`];
|
|
185
|
+
// Look for general rule custom message
|
|
186
|
+
if (!template) {
|
|
187
|
+
template = this.messages[ruleName];
|
|
188
|
+
}
|
|
189
|
+
// Fallback to default message
|
|
190
|
+
if (!template) {
|
|
191
|
+
template = defaultMessage;
|
|
192
|
+
}
|
|
193
|
+
return template.replace(/:attribute/g, attribute);
|
|
156
194
|
}
|
|
157
195
|
expandRules(rules) {
|
|
158
196
|
const expanded = {};
|
package/dist/Validator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":";;;AACA,yCAAsC;AACtC,+CAA4C;AAC5C,yCAAsC;AACtC,qCAAkC;AAClC,qCAAkC;AAClC,2CAA0C;AAC1C,2CAA0C;AAC1C,mDAAgD;
|
|
1
|
+
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,9 +3,18 @@ export * from './Validator';
|
|
|
3
3
|
export * from './ErrorBag';
|
|
4
4
|
export * from './ValidationError';
|
|
5
5
|
export * from './Rules/Required';
|
|
6
|
+
export * from './Rules/RequiredIf';
|
|
6
7
|
export * from './Rules/Email';
|
|
7
8
|
export * from './Rules/Min';
|
|
8
9
|
export * from './Rules/Max';
|
|
9
10
|
export * from './Rules/String';
|
|
10
11
|
export * from './Rules/Number';
|
|
12
|
+
export * from './Rules/In';
|
|
13
|
+
export * from './Rules/NotIn';
|
|
14
|
+
export * from './Rules/Alpha';
|
|
15
|
+
export * from './Rules/AlphaNum';
|
|
16
|
+
export * from './Rules/Url';
|
|
17
|
+
export * from './Rules/Boolean';
|
|
18
|
+
export * from './Rules/IsArray';
|
|
19
|
+
export * from './Rules/Confirmed';
|
|
11
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
|