react-hook-form-rules 1.0.7 → 1.0.9

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 ADDED
@@ -0,0 +1,295 @@
1
+ # React-hook-form-rules
2
+
3
+ This is a small library that contains a few rules for clearer validation handling in the [react-hook-form](https://www.react-hook-form.com/) library.
4
+
5
+ ### Contacts
6
+
7
+ Hello everyone 👋.
8
+
9
+ If you have any questions or suggestions, [my github profile](https://github.com/chopperqt).
10
+
11
+
12
+
13
+ ## Rules
14
+
15
+ ### getRequiredRule
16
+
17
+ #### Description
18
+ This rule makes the field required.
19
+
20
+ #### Options
21
+ | Option | Type | Default | Description |
22
+ | -------- | --------- | ------ | ---------- |
23
+ | isRequired | boolean | true | |
24
+ | message | string | "This field is required." | . |
25
+
26
+ #### Code example
27
+ ```
28
+ import { getRequiredRule } from 'react-hook-form-rules';
29
+
30
+ const {...} = useController({
31
+ rules: {{
32
+ required: getRequiredRule()
33
+ }}
34
+ })
35
+
36
+ ```
37
+
38
+
39
+
40
+
41
+
42
+ ### getRequiredArrayRule
43
+
44
+ #### Description
45
+ This rule makes the array field required.
46
+
47
+
48
+ #### Options
49
+ | Option | Type | Default | Description |
50
+ | -------- | --------- | ------ | ---------- |
51
+ | arr | array | [] | |
52
+ | message | string | "This field is required." | |
53
+
54
+
55
+ #### Code example
56
+ ```
57
+ import { getRequiredArrayRule } from 'react-hook-form-rules';
58
+
59
+ const {...} = useController({
60
+ rules: {{
61
+ validate: (arr) => getRequiredArrayRule(arr)
62
+ }}
63
+ })
64
+ ```
65
+
66
+
67
+
68
+
69
+
70
+ ### getRequiredObjectRule
71
+
72
+ #### Description
73
+ This rule makes the object field required.
74
+
75
+
76
+ #### Options
77
+ | Option | Type | Default | Description |
78
+ | -------- | --------- | ------ | ---------- |
79
+ | obj | object | {} | |
80
+ | message | string | "This field is required." | |
81
+
82
+
83
+ #### Code example
84
+ ```
85
+ import { getRequiredObjectRule } from 'react-hook-form-rules';
86
+
87
+ const {...} = useController({
88
+ rules: {{
89
+ validate: (arr) => getRequiredObjectRule(arr)
90
+ }}
91
+ })
92
+ ```
93
+
94
+
95
+
96
+
97
+ ### getMaxRule
98
+
99
+ #### Description
100
+ This rule returns an error if the number is greater than the specified value.
101
+
102
+ #### Options
103
+ | Option | Type | Default | Description |
104
+ | -------- | --------- | ------ | ---------- |
105
+ | max | number | - | - |
106
+ | message | string | - | - |
107
+
108
+ #### Code example
109
+ ```
110
+ import { getMaxRule } from 'react-hook-form-rules';
111
+
112
+ const {...} = useController({
113
+ rules: {{
114
+ max: getMaxRule(15)
115
+ }}
116
+ })
117
+ ```
118
+
119
+
120
+
121
+
122
+ ### getMaxLengthRule
123
+
124
+ #### Description
125
+ This rule checks that the number of characters in the string does not exceed the specified value.
126
+
127
+ #### Options
128
+ | Option | Type | Default | Description |
129
+ | -------- | --------- | ------ | ---------- |
130
+ | maxLength | number | - | - |
131
+ | message | string | - | - |
132
+
133
+ ### Code example
134
+ ```
135
+ import { getMaxLengthRule } from 'react-hook-form-rules';
136
+
137
+ const {...} = useController({
138
+ rules: {{
139
+ maxLength: getMaxLengthRule(15)
140
+ }}
141
+ })
142
+ ```
143
+
144
+
145
+
146
+
147
+
148
+ ### getMaxArrayLengthRule
149
+
150
+ #### Description
151
+ This rule returns an error if the number of values in the array exceeds the specified limit.
152
+
153
+ #### Options
154
+ | Option | Type | Default | Description |
155
+ | -------- | --------- | ------ | ---------- |
156
+ | arr | arrray | - | - |
157
+ | maxLength | number | - | - |
158
+ | message | string | - | - |
159
+
160
+ #### Code example
161
+ ```
162
+ import { getMaxArrayLengthRule } from 'react-hook-form-rules';
163
+
164
+ const {...} = useController({
165
+ rules: {{
166
+ validate: (arr) => getMaxArrayLengthRule(arr, 15)
167
+ }}
168
+ })
169
+ ```
170
+
171
+
172
+
173
+ ### getMinRule
174
+
175
+ #### Description
176
+ This rule checks that the string contains a minimum number of characters.
177
+
178
+ #### Options
179
+ | Option | Type | Default | Description |
180
+ | -------- | --------- | ------ | ---------- |
181
+ | min | number | - | - |
182
+ | message | string | - | - |
183
+
184
+ #### Code example
185
+ ```
186
+ import { getMinRule } from 'react-hook-form-rules';
187
+
188
+ const {...} = useController({
189
+ rules: {{
190
+ min: getMinRule(15)
191
+ }}
192
+ })
193
+ ```
194
+
195
+
196
+
197
+
198
+ ### getMinLengthRule
199
+
200
+ #### Description
201
+ The rule checks that the string contains at least the specified number of characters.
202
+
203
+ #### Options
204
+ | Option | Type | Default | Description |
205
+ | -------- | --------- | ------ | ---------- |
206
+ | minLength | number | - | - |
207
+ | message | string | - | - |
208
+
209
+ #### Code example
210
+ ```
211
+ import { getMinLengthRule } from 'react-hook-form-rules';
212
+
213
+ const {...} = useController({
214
+ rules: {{
215
+ minLength: getMinLengthRule(15)
216
+ }}
217
+ })
218
+ ```
219
+
220
+
221
+
222
+
223
+ ### getMinArrayLengthRule
224
+
225
+ #### Description
226
+ The rule checks that the array contains a minimum number of elements.
227
+
228
+ #### Options
229
+ | Option | Type | Default | Description |
230
+ | -------- | --------- | ------ | ---------- |
231
+ | arr | arrray | - | - |
232
+ | minLength | number | - | - |
233
+ | message | string | - | - |
234
+
235
+ #### Code example
236
+ ```
237
+ import { getMinArrayLengthRule } from 'react-hook-form-rules';
238
+
239
+ const {...} = useController({
240
+ rules: {{
241
+ validate: (arr) => getMinArrayLengthRule(arr, 15)
242
+ }}
243
+ })
244
+ ```
245
+
246
+ ### getEmailRule
247
+
248
+ #### Description
249
+ he rule checks the entered email for correctness.
250
+
251
+ #### Options
252
+ | Option | Type | Default | Description |
253
+ | -------- | --------- | ------ | ---------- |
254
+ | pattern | RegExp | - | - |
255
+ | message | string | - | - |
256
+
257
+ #### Code example
258
+ ```
259
+ import { getEmailRule } from 'react-hook-form-rules';
260
+
261
+ const {...} = useController({
262
+ rules: {{
263
+ pattern: getEmailRule({})
264
+ }}
265
+ })
266
+ ```
267
+
268
+
269
+
270
+
271
+ ### getUrlRule
272
+
273
+ #### Description
274
+ The rule checks the entered URL for correctness.
275
+
276
+ #### Options
277
+ | Option | Type | Default | Description |
278
+ | -------- | --------- | ------ | ---------- |
279
+ | pattern | RegExp | - | - |
280
+ | message | string | - | - |
281
+
282
+ #### Code example
283
+ ```
284
+ import { getUrlRule } from 'react-hook-form-rules';
285
+
286
+ const {...} = useController({
287
+ rules: {{
288
+ pattern: getUrlRule({})
289
+ }}
290
+ })
291
+ ```
292
+
293
+
294
+
295
+
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ import { getMaxRule } from "./rules/get-max-rule";
6
6
  import { getMinLengthRule } from "./rules/get-min-length-rule";
7
7
  import { getMinRule } from "./rules/get-min-rule";
8
8
  import { getRequiredRule } from "./rules/get-require-rule";
9
- import { getRequiredArrayRule } from "./rules/get-required-array-role";
9
+ import { getRequiredArrayRule } from "./rules/get-required-array-rule";
10
10
  import { getRequiredObjectRule } from "./rules/get-required-object-rule";
11
11
  import { getUrlRule } from "./rules/get-url-rule";
12
12
  export { getMaxRule, getRequiredObjectRule, getRequiredArrayRule, getEmailRule, getMaxLengthRule, getMaxArrayLengthRule, getMinArrayLengthRule, getMinLengthRule, getMinRule, getRequiredRule, getUrlRule, };
package/dist/index.js CHANGED
@@ -17,8 +17,8 @@ const get_min_rule_1 = require("./rules/get-min-rule");
17
17
  Object.defineProperty(exports, "getMinRule", { enumerable: true, get: function () { return get_min_rule_1.getMinRule; } });
18
18
  const get_require_rule_1 = require("./rules/get-require-rule");
19
19
  Object.defineProperty(exports, "getRequiredRule", { enumerable: true, get: function () { return get_require_rule_1.getRequiredRule; } });
20
- const get_required_array_role_1 = require("./rules/get-required-array-role");
21
- Object.defineProperty(exports, "getRequiredArrayRule", { enumerable: true, get: function () { return get_required_array_role_1.getRequiredArrayRule; } });
20
+ const get_required_array_rule_1 = require("./rules/get-required-array-rule");
21
+ Object.defineProperty(exports, "getRequiredArrayRule", { enumerable: true, get: function () { return get_required_array_rule_1.getRequiredArrayRule; } });
22
22
  const get_required_object_rule_1 = require("./rules/get-required-object-rule");
23
23
  Object.defineProperty(exports, "getRequiredObjectRule", { enumerable: true, get: function () { return get_required_object_rule_1.getRequiredObjectRule; } });
24
24
  const get_url_rule_1 = require("./rules/get-url-rule");
@@ -1,16 +1,11 @@
1
- export interface MaxRuleProps {
2
- max: number;
3
- message?: string;
4
- }
5
1
  /**
6
2
  * Возвращает ошибку, если число, больше указанного.
7
- * @param options - Параметры.
8
- * @param options.max - Максимальное число
9
- * @param options.message - Кастомное сообщение.
3
+ * @param max - Максимальное число
4
+ * @param message - Кастомное сообщение.
10
5
  *
11
6
  * @example rules: { max: getMaxRule(20) }
12
7
  */
13
- export declare const getMaxRule: ({ max, message, }: MaxRuleProps) => {
8
+ export declare const getMaxRule: (max: number, message?: string) => {
14
9
  value: number;
15
10
  message: string;
16
11
  };
@@ -3,13 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getMaxRule = void 0;
4
4
  /**
5
5
  * Возвращает ошибку, если число, больше указанного.
6
- * @param options - Параметры.
7
- * @param options.max - Максимальное число
8
- * @param options.message - Кастомное сообщение.
6
+ * @param max - Максимальное число
7
+ * @param message - Кастомное сообщение.
9
8
  *
10
9
  * @example rules: { max: getMaxRule(20) }
11
10
  */
12
- const getMaxRule = ({ max, message, }) => ({
11
+ const getMaxRule = (max, message) => ({
13
12
  value: max,
14
13
  message: message || `Максимальное значение ${max}.`,
15
14
  });
@@ -1,17 +1,11 @@
1
- interface RequiredRuleProps {
2
- isRequired?: boolean;
3
- message?: string;
4
- }
5
1
  /**
6
2
  * Валидирует обязательное поле.
7
- * @param options - Параметры.
8
- * @param options.isRequired - Динимический параметр, которые отвечает за то, что поле является обязательным.
9
- * @param options.message - Кастомное сообщение.
3
+ * @param isRequired - Динимический параметр, которые отвечает за то, что поле является обязательным.
4
+ * @param message - Кастомное сообщение.
10
5
  *
11
- * @example rules: { required: getRequiredRule({}) }
6
+ * @example rules: { required: getRequiredRule() }
12
7
  */
13
- export declare const getRequiredRule: ({ isRequired, message }: RequiredRuleProps) => {
8
+ export declare const getRequiredRule: (isRequired?: boolean, message?: string) => {
14
9
  value: boolean;
15
10
  message: string;
16
11
  };
17
- export {};
@@ -4,13 +4,12 @@ exports.getRequiredRule = void 0;
4
4
  const REQUIRED_MESSAGE_TEXT = 'Это поле обязательное.';
5
5
  /**
6
6
  * Валидирует обязательное поле.
7
- * @param options - Параметры.
8
- * @param options.isRequired - Динимический параметр, которые отвечает за то, что поле является обязательным.
9
- * @param options.message - Кастомное сообщение.
7
+ * @param isRequired - Динимический параметр, которые отвечает за то, что поле является обязательным.
8
+ * @param message - Кастомное сообщение.
10
9
  *
11
- * @example rules: { required: getRequiredRule({}) }
10
+ * @example rules: { required: getRequiredRule() }
12
11
  */
13
- const getRequiredRule = ({ isRequired = true, message = REQUIRED_MESSAGE_TEXT }) => ({
12
+ const getRequiredRule = (isRequired = true, message = REQUIRED_MESSAGE_TEXT) => ({
14
13
  value: isRequired,
15
14
  message,
16
15
  });
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Валидирует массив, проверяет есть ли в нем значения
3
+ * @param arr - Массиов со значениями
4
+ * @param message - Кастомное сообщение.
5
+ *
6
+ * @example rules: { validate: (arr) => getRequiredArrrayRule(arr) }
7
+ */
8
+ export declare const getRequiredArrayRule: (arr?: unknown[], message?: string) => string | true;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRequiredArrayRule = void 0;
4
+ const REQUIRED_MESSAGE_TEXT = 'Это поле обязательное.';
5
+ /**
6
+ * Валидирует массив, проверяет есть ли в нем значения
7
+ * @param arr - Массиов со значениями
8
+ * @param message - Кастомное сообщение.
9
+ *
10
+ * @example rules: { validate: (arr) => getRequiredArrrayRule(arr) }
11
+ */
12
+ const getRequiredArrayRule = (arr = [], message) => {
13
+ return arr.length > 0 || (message || REQUIRED_MESSAGE_TEXT);
14
+ };
15
+ exports.getRequiredArrayRule = getRequiredArrayRule;
@@ -3,6 +3,6 @@
3
3
  * @param obj - Объект со значениями
4
4
  * @param message - Кастомное сообщение.
5
5
  *
6
- * @example rules: { validate: getRequiredObjectRule }
6
+ * @example rules: { validate: (obj) => getRequiredObjectRule(obj) }
7
7
  */
8
- export declare const getRequiredObjectRule: (obj: Record<string, unknown>, message?: string) => string | true;
8
+ export declare const getRequiredObjectRule: (obj?: Record<string, unknown>, message?: string) => string | true;
@@ -7,9 +7,9 @@ const REQUIRED_MESSAGE_TEXT = 'Это поле обязательное.';
7
7
  * @param obj - Объект со значениями
8
8
  * @param message - Кастомное сообщение.
9
9
  *
10
- * @example rules: { validate: getRequiredObjectRule }
10
+ * @example rules: { validate: (obj) => getRequiredObjectRule(obj) }
11
11
  */
12
- const getRequiredObjectRule = (obj, message) => {
12
+ const getRequiredObjectRule = (obj = {}, message) => {
13
13
  var _a;
14
14
  const formattedMessage = message || REQUIRED_MESSAGE_TEXT;
15
15
  if (!obj) {
package/index.ts CHANGED
@@ -7,7 +7,7 @@ import { getMaxRule } from "./rules/get-max-rule";
7
7
  import { getMinLengthRule } from "./rules/get-min-length-rule";
8
8
  import { getMinRule } from "./rules/get-min-rule";
9
9
  import { getRequiredRule } from "./rules/get-require-rule";
10
- import { getRequiredArrayRule } from "./rules/get-required-array-role";
10
+ import { getRequiredArrayRule } from "./rules/get-required-array-rule";
11
11
  import { getRequiredObjectRule } from "./rules/get-required-object-rule";
12
12
  import { getUrlRule } from "./rules/get-url-rule";
13
13
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-hook-form-rules",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,20 +1,11 @@
1
- export interface MaxRuleProps {
2
- max: number
3
- message?: string
4
- }
5
-
6
1
  /**
7
2
  * Возвращает ошибку, если число, больше указанного.
8
- * @param options - Параметры.
9
- * @param options.max - Максимальное число
10
- * @param options.message - Кастомное сообщение.
3
+ * @param max - Максимальное число
4
+ * @param message - Кастомное сообщение.
11
5
  *
12
6
  * @example rules: { max: getMaxRule(20) }
13
7
  */
14
- export const getMaxRule = ({
15
- max,
16
- message,
17
- }: MaxRuleProps) => ({
8
+ export const getMaxRule = (max: number, message?: string) => ({
18
9
  value: max,
19
10
  message: message || `Максимальное значение ${max}.`,
20
11
  })
@@ -1,22 +1,16 @@
1
1
  const REQUIRED_MESSAGE_TEXT = 'Это поле обязательное.';
2
2
 
3
- interface RequiredRuleProps {
4
- isRequired?: boolean
5
- message?: string
6
- }
7
-
8
3
  /**
9
4
  * Валидирует обязательное поле.
10
- * @param options - Параметры.
11
- * @param options.isRequired - Динимический параметр, которые отвечает за то, что поле является обязательным.
12
- * @param options.message - Кастомное сообщение.
5
+ * @param isRequired - Динимический параметр, которые отвечает за то, что поле является обязательным.
6
+ * @param message - Кастомное сообщение.
13
7
  *
14
- * @example rules: { required: getRequiredRule({}) }
8
+ * @example rules: { required: getRequiredRule() }
15
9
  */
16
- export const getRequiredRule = ({
10
+ export const getRequiredRule = (
17
11
  isRequired = true,
18
12
  message = REQUIRED_MESSAGE_TEXT
19
- }: RequiredRuleProps) => ({
13
+ ) => ({
20
14
  value: isRequired,
21
15
  message,
22
16
  })
@@ -2,11 +2,11 @@ const REQUIRED_MESSAGE_TEXT = 'Это поле обязательное.';
2
2
 
3
3
  /**
4
4
  * Валидирует массив, проверяет есть ли в нем значения
5
- * @param value - Массиов со значениями
5
+ * @param arr - Массиов со значениями
6
6
  * @param message - Кастомное сообщение.
7
7
  *
8
- * @example rules: { validate: getRequiredArrrayRule }
8
+ * @example rules: { validate: (arr) => getRequiredArrrayRule(arr) }
9
9
  */
10
- export const getRequiredArrayRule = (arr: unknown[], message?: string) => {
10
+ export const getRequiredArrayRule = (arr: unknown[] = [], message?: string) => {
11
11
  return arr.length > 0 || (message || REQUIRED_MESSAGE_TEXT);
12
12
  };
@@ -5,9 +5,9 @@ const REQUIRED_MESSAGE_TEXT = 'Это поле обязательное.';
5
5
  * @param obj - Объект со значениями
6
6
  * @param message - Кастомное сообщение.
7
7
  *
8
- * @example rules: { validate: getRequiredObjectRule }
8
+ * @example rules: { validate: (obj) => getRequiredObjectRule(obj) }
9
9
  */
10
- export const getRequiredObjectRule = (obj: Record<string, unknown>, message?: string) => {
10
+ export const getRequiredObjectRule = (obj: Record<string, unknown> = {}, message?: string) => {
11
11
  const formattedMessage = message || REQUIRED_MESSAGE_TEXT;
12
12
 
13
13
  if (!obj) {