@astral/validations 4.8.1 → 4.9.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 +59 -0
- package/containsDifferentCases/constants.d.ts +2 -0
- package/containsDifferentCases/constants.js +2 -0
- package/containsDifferentCases/containsDifferentCases.d.ts +16 -0
- package/containsDifferentCases/containsDifferentCases.js +22 -0
- package/containsDifferentCases/index.d.ts +2 -0
- package/containsDifferentCases/index.js +2 -0
- package/containsNumbers/constants.d.ts +2 -0
- package/containsNumbers/constants.js +2 -0
- package/containsNumbers/containsNumbers.d.ts +16 -0
- package/containsNumbers/containsNumbers.js +20 -0
- package/containsNumbers/index.d.ts +2 -0
- package/containsNumbers/index.js +2 -0
- package/containsPunctuationMarks/constants.d.ts +2 -0
- package/containsPunctuationMarks/constants.js +2 -0
- package/containsPunctuationMarks/containsPunctuationMarks.d.ts +16 -0
- package/containsPunctuationMarks/containsPunctuationMarks.js +20 -0
- package/containsPunctuationMarks/index.d.ts +2 -0
- package/containsPunctuationMarks/index.js +2 -0
- package/package.json +1 -1
package/README.md
CHANGED
@@ -28,6 +28,9 @@
|
|
28
28
|
- [guid](#guid)
|
29
29
|
- [pattern](#pattern)
|
30
30
|
- [onlyNumber](#onlyNumber)
|
31
|
+
- [containsNumbers](#containsNumbers)
|
32
|
+
- [containsDifferentCases](#containsDifferentCases)
|
33
|
+
- [containsPunctuationMarks](#containsPunctuationMarks)
|
31
34
|
- [snils](#snils)
|
32
35
|
- [mobilePhone](#mobilePhone)
|
33
36
|
- [innUL](#innUL)
|
@@ -448,6 +451,62 @@ validate('-1.2345')
|
|
448
451
|
|
449
452
|
---
|
450
453
|
|
454
|
+
### containsNumbers
|
455
|
+
|
456
|
+
Проверяет на наличие чисел в строке
|
457
|
+
|
458
|
+
```ts
|
459
|
+
import { string, containsNumbers } from '@astral/validations';
|
460
|
+
|
461
|
+
const validate = string(containsNumbers());
|
462
|
+
|
463
|
+
// undefined
|
464
|
+
validate('test12345')
|
465
|
+
|
466
|
+
// { message: 'Строка должна содержать числа' }
|
467
|
+
validate('test')
|
468
|
+
```
|
469
|
+
|
470
|
+
---
|
471
|
+
|
472
|
+
### containsDifferentCases
|
473
|
+
|
474
|
+
Проверяет на наличие в строке символов разных регистров
|
475
|
+
|
476
|
+
```ts
|
477
|
+
import { string, containsDifferentCases } from '@astral/validations';
|
478
|
+
|
479
|
+
const validate = string(containsDifferentCases());
|
480
|
+
|
481
|
+
// undefined
|
482
|
+
validate('testTEST')
|
483
|
+
validate('тестТЕСТ')
|
484
|
+
|
485
|
+
// { message: 'Строка должна содержать символы разного регистра' }
|
486
|
+
validate('test')
|
487
|
+
validate('ТЕСТ')
|
488
|
+
```
|
489
|
+
|
490
|
+
---
|
491
|
+
|
492
|
+
### containsPunctuationMarks
|
493
|
+
|
494
|
+
Проверяет на наличие в строке знаков пунктуации !$%&’()+,-./:;<=>?@[]^_{|}”
|
495
|
+
|
496
|
+
```ts
|
497
|
+
import { string, containsPunctuationMarks } from '@astral/validations';
|
498
|
+
|
499
|
+
const validate = string(containsPunctuationMarks());
|
500
|
+
|
501
|
+
// undefined
|
502
|
+
validate('test?')
|
503
|
+
|
504
|
+
// { message: 'Строка должна содержать знаки пунктуации' }
|
505
|
+
validate('test')
|
506
|
+
```
|
507
|
+
|
508
|
+
---
|
509
|
+
|
451
510
|
### snils
|
452
511
|
|
453
512
|
Проверяет валиден ли СНИЛС
|
@@ -0,0 +1,16 @@
|
|
1
|
+
type ContainsDifferentCasesParams = {
|
2
|
+
/**
|
3
|
+
* @description Замена стандартного сообщения ошибки.
|
4
|
+
*/
|
5
|
+
message?: string;
|
6
|
+
};
|
7
|
+
/**
|
8
|
+
* @description Проверяет на наличие в строке символов разных регистров
|
9
|
+
* @example
|
10
|
+
* ```ts
|
11
|
+
* const validate = string(containsDifferentCases());
|
12
|
+
* validate('testTEST');
|
13
|
+
* ```
|
14
|
+
*/
|
15
|
+
export declare const containsDifferentCases: <TLastSchemaValues extends Record<string, unknown>>(params?: ContainsDifferentCasesParams) => (value: string, prevCtx?: import("../core").ValidationContext<TLastSchemaValues> | undefined) => import("../core").ValidationResult;
|
16
|
+
export {};
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { createRule } from '../core';
|
2
|
+
import { CONTAINS_DIFFERENT_CASES_ERROR_CODE } from './constants';
|
3
|
+
/**
|
4
|
+
* @description Проверяет на наличие в строке символов разных регистров
|
5
|
+
* @example
|
6
|
+
* ```ts
|
7
|
+
* const validate = string(containsDifferentCases());
|
8
|
+
* validate('testTEST');
|
9
|
+
* ```
|
10
|
+
*/
|
11
|
+
export const containsDifferentCases = (params) => createRule((value, ctx) => {
|
12
|
+
const containsLowerCaseRegex = /(?=.*[A-ZА-ЯЁ])/;
|
13
|
+
const containsUpperCaseRegex = /(?=.*[a-zа-яё])/;
|
14
|
+
if (!containsLowerCaseRegex.test(value) ||
|
15
|
+
!containsUpperCaseRegex.test(value)) {
|
16
|
+
return ctx.createError({
|
17
|
+
code: CONTAINS_DIFFERENT_CASES_ERROR_CODE,
|
18
|
+
message: (params === null || params === void 0 ? void 0 : params.message) || 'Строка должна содержать символы разного регистра',
|
19
|
+
});
|
20
|
+
}
|
21
|
+
return undefined;
|
22
|
+
});
|
@@ -0,0 +1,16 @@
|
|
1
|
+
type ContainsNumbersParams = {
|
2
|
+
/**
|
3
|
+
* @description Замена стандартного сообщения ошибки.
|
4
|
+
*/
|
5
|
+
message?: string;
|
6
|
+
};
|
7
|
+
/**
|
8
|
+
* @description Проверяет на наличие чисел в строке
|
9
|
+
* @example
|
10
|
+
* ```ts
|
11
|
+
* const validate = string(containsNumbers());
|
12
|
+
* validate('test123');
|
13
|
+
* ```
|
14
|
+
*/
|
15
|
+
export declare const containsNumbers: <TLastSchemaValues extends Record<string, unknown>>(params?: ContainsNumbersParams) => (value: string, prevCtx?: import("../core").ValidationContext<TLastSchemaValues> | undefined) => import("../core").ValidationResult;
|
16
|
+
export {};
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { createRule } from '../core';
|
2
|
+
import { CONTAINS_NUMBERS_ERROR_CODE } from './constants';
|
3
|
+
/**
|
4
|
+
* @description Проверяет на наличие чисел в строке
|
5
|
+
* @example
|
6
|
+
* ```ts
|
7
|
+
* const validate = string(containsNumbers());
|
8
|
+
* validate('test123');
|
9
|
+
* ```
|
10
|
+
*/
|
11
|
+
export const containsNumbers = (params) => createRule((value, ctx) => {
|
12
|
+
const containsNumbersRegex = /\d/;
|
13
|
+
if (!containsNumbersRegex.test(value)) {
|
14
|
+
return ctx.createError({
|
15
|
+
code: CONTAINS_NUMBERS_ERROR_CODE,
|
16
|
+
message: (params === null || params === void 0 ? void 0 : params.message) || 'Строка должна содержать числа',
|
17
|
+
});
|
18
|
+
}
|
19
|
+
return undefined;
|
20
|
+
});
|
@@ -0,0 +1,16 @@
|
|
1
|
+
type ContainsPunctuationMarksParams = {
|
2
|
+
/**
|
3
|
+
* @description Замена стандартного сообщения ошибки.
|
4
|
+
*/
|
5
|
+
message?: string;
|
6
|
+
};
|
7
|
+
/**
|
8
|
+
* @description Проверяет на наличие в строке знаков пунктуации !$%&’()+,-./:;<=>?@[]^_{|}”
|
9
|
+
* @example
|
10
|
+
* ```ts
|
11
|
+
* const validate = string(containsPunctuationMarks());
|
12
|
+
* validate('test?');
|
13
|
+
* ```
|
14
|
+
*/
|
15
|
+
export declare const containsPunctuationMarks: <TLastSchemaValues extends Record<string, unknown>>(params?: ContainsPunctuationMarksParams) => (value: string, prevCtx?: import("../core").ValidationContext<TLastSchemaValues> | undefined) => import("../core").ValidationResult;
|
16
|
+
export {};
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { createRule } from '../core';
|
2
|
+
import { CONTAINS_PUNCTUATION_MARKS_ERROR_CODE } from './constants';
|
3
|
+
/**
|
4
|
+
* @description Проверяет на наличие в строке знаков пунктуации !$%&’()+,-./:;<=>?@[]^_{|}”
|
5
|
+
* @example
|
6
|
+
* ```ts
|
7
|
+
* const validate = string(containsPunctuationMarks());
|
8
|
+
* validate('test?');
|
9
|
+
* ```
|
10
|
+
*/
|
11
|
+
export const containsPunctuationMarks = (params) => createRule((value, ctx) => {
|
12
|
+
const containsPunctuationMarksRegex = /(?=.*[!$%&’”'"()+,-.\/:;<=>?@\[\]^_{|}])/;
|
13
|
+
if (!containsPunctuationMarksRegex.test(value)) {
|
14
|
+
return ctx.createError({
|
15
|
+
code: CONTAINS_PUNCTUATION_MARKS_ERROR_CODE,
|
16
|
+
message: (params === null || params === void 0 ? void 0 : params.message) || 'Строка должна содержать знаки пунктуации',
|
17
|
+
});
|
18
|
+
}
|
19
|
+
return undefined;
|
20
|
+
});
|