@astral/validations 4.10.1 → 4.11.0
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 +20 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/length/constants.d.ts +2 -0
- package/length/constants.js +2 -0
- package/length/index.d.ts +2 -0
- package/length/index.js +2 -0
- package/length/length.d.ts +22 -0
- package/length/length.js +26 -0
- package/package.json +1 -1
package/README.md
CHANGED
@@ -26,6 +26,7 @@
|
|
26
26
|
- [max](#max-string)
|
27
27
|
- [email](#email)
|
28
28
|
- [guid](#guid)
|
29
|
+
- [length](#length)
|
29
30
|
- [pattern](#pattern)
|
30
31
|
- [onlyNumber](#onlyNumber)
|
31
32
|
- [containsNumbers](#containsNumbers)
|
@@ -412,6 +413,25 @@ validate('x56a4180-h5aa-42ec-a945-5fd21dec0538');
|
|
412
413
|
|
413
414
|
---
|
414
415
|
|
416
|
+
### length
|
417
|
+
|
418
|
+
Проверяет значение на соответствие длине.
|
419
|
+
|
420
|
+
```ts
|
421
|
+
import { string, length } from '@astral/validations';
|
422
|
+
|
423
|
+
const validate = string(length(5));
|
424
|
+
|
425
|
+
// undefined
|
426
|
+
validate('aaaaa');
|
427
|
+
|
428
|
+
|
429
|
+
// { message: 'Кол-во символов должно быть: 5' }
|
430
|
+
validate('abc');
|
431
|
+
```
|
432
|
+
|
433
|
+
---
|
434
|
+
|
415
435
|
### pattern
|
416
436
|
|
417
437
|
Проверяет строку на соответствие регулярному выражению.
|
package/index.d.ts
CHANGED
@@ -21,6 +21,7 @@ export { containsDifferentCases, CONTAINS_DIFFERENT_CASES_ERROR_CODE, } from './
|
|
21
21
|
export { toPlainError } from './toPlainError';
|
22
22
|
export { email, LENGTH_EMAIL_ERROR_INFO, INVALID_EMAIL_ERROR_INFO, } from './email';
|
23
23
|
export { guid, INVALID_GUID_ERROR_INFO } from './guid';
|
24
|
+
export { length, STRING_LENGTH_ERROR_CODE } from './length';
|
24
25
|
export { mobilePhone, MOBILE_PHONE_ERROR_INFO } from './mobilePhone';
|
25
26
|
export { innUL, INN_UL_ERROR_INFO } from './innUL';
|
26
27
|
export { innIP, INN_IP_ERROR_INFO } from './innIP';
|
package/index.js
CHANGED
@@ -21,6 +21,7 @@ export { containsDifferentCases, CONTAINS_DIFFERENT_CASES_ERROR_CODE, } from './
|
|
21
21
|
export { toPlainError } from './toPlainError';
|
22
22
|
export { email, LENGTH_EMAIL_ERROR_INFO, INVALID_EMAIL_ERROR_INFO, } from './email';
|
23
23
|
export { guid, INVALID_GUID_ERROR_INFO } from './guid';
|
24
|
+
export { length, STRING_LENGTH_ERROR_CODE } from './length';
|
24
25
|
export { mobilePhone, MOBILE_PHONE_ERROR_INFO } from './mobilePhone';
|
25
26
|
export { innUL, INN_UL_ERROR_INFO } from './innUL';
|
26
27
|
export { innIP, INN_IP_ERROR_INFO } from './innIP';
|
package/length/index.js
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
type LengthParams = {
|
2
|
+
/**
|
3
|
+
* @description Замена стандартного сообщения ошибки.
|
4
|
+
*/
|
5
|
+
message?: string;
|
6
|
+
};
|
7
|
+
/**
|
8
|
+
* @description Проверяет значение на соответствие длине. Работает с: string
|
9
|
+
* @param len - целевой кол-во символов
|
10
|
+
* @example
|
11
|
+
* // Длина строки должна быть 5 символов
|
12
|
+
* const validate = string(length(5));
|
13
|
+
*
|
14
|
+
* // undefined
|
15
|
+
* validate('aaaaa')
|
16
|
+
*
|
17
|
+
* // error
|
18
|
+
* validate('va')
|
19
|
+
*
|
20
|
+
*/
|
21
|
+
export declare const length: <TLastSchemaValues extends Record<string, unknown>>(len: number, params?: LengthParams) => (value: string, prevCtx?: import("../core").ValidationContext<TLastSchemaValues> | undefined) => import("../core").ValidationResult;
|
22
|
+
export {};
|
package/length/length.js
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
import { createRule } from '../core';
|
2
|
+
import { STRING_LENGTH_ERROR_CODE } from './constants';
|
3
|
+
/**
|
4
|
+
* @description Проверяет значение на соответствие длине. Работает с: string
|
5
|
+
* @param len - целевой кол-во символов
|
6
|
+
* @example
|
7
|
+
* // Длина строки должна быть 5 символов
|
8
|
+
* const validate = string(length(5));
|
9
|
+
*
|
10
|
+
* // undefined
|
11
|
+
* validate('aaaaa')
|
12
|
+
*
|
13
|
+
* // error
|
14
|
+
* validate('va')
|
15
|
+
*
|
16
|
+
*/
|
17
|
+
export const length = (len, params) => createRule((value, ctx) => {
|
18
|
+
const currentLength = value.trim().length;
|
19
|
+
if (currentLength !== len) {
|
20
|
+
return ctx.createError({
|
21
|
+
code: STRING_LENGTH_ERROR_CODE,
|
22
|
+
message: (params === null || params === void 0 ? void 0 : params.message) || `Кол-во символов должно быть: ${len}`,
|
23
|
+
});
|
24
|
+
}
|
25
|
+
return undefined;
|
26
|
+
});
|