react-hook-form-rules 1.0.0 → 1.0.1
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/dist/index.d.ts +8 -1
- package/dist/index.js +15 -4
- package/dist/rules/get-email-rule.d.ts +13 -0
- package/dist/rules/get-email-rule.js +16 -0
- package/dist/rules/get-max-array-length.d.ts +8 -0
- package/dist/rules/get-max-array-length.js +17 -0
- package/dist/rules/get-min-array-length.d.ts +9 -0
- package/dist/rules/get-min-array-length.js +18 -0
- package/dist/rules/get-min-length-rule.d.ts +10 -0
- package/dist/rules/get-min-length-rule.js +16 -0
- package/dist/rules/get-min-rule.d.ts +10 -0
- package/dist/rules/get-min-rule.js +16 -0
- package/dist/rules/get-require-rule.d.ts +10 -0
- package/dist/rules/get-require-rule.js +17 -0
- package/dist/rules/get-url-rule.d.ts +12 -0
- package/dist/rules/get-url-rule.js +15 -0
- package/dist/rules/helpers/get-min-error.d.ts +6 -0
- package/dist/rules/helpers/get-min-error.js +9 -0
- package/dist/rules/helpers/get-min-length-error.d.ts +6 -0
- package/dist/rules/helpers/get-min-length-error.js +9 -0
- package/index.ts +16 -2
- package/package.json +1 -1
- package/rules/get-email-rule.ts +21 -0
- package/rules/get-max-array-length.ts +15 -0
- package/rules/get-min-array-length.ts +16 -0
- package/rules/get-min-length-rule.ts +12 -0
- package/rules/get-min-rule.ts +12 -0
- package/rules/get-require-rule.ts +14 -0
- package/rules/get-url-rule.ts +20 -0
- package/rules/helpers/get-min-error.ts +9 -0
- package/rules/helpers/get-min-length-error.ts +9 -0
package/dist/index.d.ts
CHANGED
|
@@ -1 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { getRequiredRule } from "./rules/get-require-rule";
|
|
2
|
+
import { getEmailRule } from "./rules/get-email-rule";
|
|
3
|
+
import { getMaxArrayLengthRule } from "./rules/get-max-array-length";
|
|
4
|
+
import { getMinLengthRule } from "./rules/get-min-length-rule";
|
|
5
|
+
import { getMinArrayLengthRule } from "./rules/get-min-array-length";
|
|
6
|
+
import { getMinRule } from "./rules/get-min-rule";
|
|
7
|
+
import { getUrlRule } from "./rules/get-url-rule";
|
|
8
|
+
export { getEmailRule, getMaxArrayLengthRule, getMinArrayLengthRule, getMinLengthRule, getMinRule, getRequiredRule, getUrlRule, };
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
exports.getUrlRule = exports.getRequiredRule = exports.getMinRule = exports.getMinLengthRule = exports.getMinArrayLengthRule = exports.getMaxArrayLengthRule = exports.getEmailRule = void 0;
|
|
4
|
+
const get_require_rule_1 = require("./rules/get-require-rule");
|
|
5
|
+
Object.defineProperty(exports, "getRequiredRule", { enumerable: true, get: function () { return get_require_rule_1.getRequiredRule; } });
|
|
6
|
+
const get_email_rule_1 = require("./rules/get-email-rule");
|
|
7
|
+
Object.defineProperty(exports, "getEmailRule", { enumerable: true, get: function () { return get_email_rule_1.getEmailRule; } });
|
|
8
|
+
const get_max_array_length_1 = require("./rules/get-max-array-length");
|
|
9
|
+
Object.defineProperty(exports, "getMaxArrayLengthRule", { enumerable: true, get: function () { return get_max_array_length_1.getMaxArrayLengthRule; } });
|
|
10
|
+
const get_min_length_rule_1 = require("./rules/get-min-length-rule");
|
|
11
|
+
Object.defineProperty(exports, "getMinLengthRule", { enumerable: true, get: function () { return get_min_length_rule_1.getMinLengthRule; } });
|
|
12
|
+
const get_min_array_length_1 = require("./rules/get-min-array-length");
|
|
13
|
+
Object.defineProperty(exports, "getMinArrayLengthRule", { enumerable: true, get: function () { return get_min_array_length_1.getMinArrayLengthRule; } });
|
|
14
|
+
const get_min_rule_1 = require("./rules/get-min-rule");
|
|
15
|
+
Object.defineProperty(exports, "getMinRule", { enumerable: true, get: function () { return get_min_rule_1.getMinRule; } });
|
|
16
|
+
const get_url_rule_1 = require("./rules/get-url-rule");
|
|
17
|
+
Object.defineProperty(exports, "getUrlRule", { enumerable: true, get: function () { return get_url_rule_1.getUrlRule; } });
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface EmailRule {
|
|
2
|
+
pattern?: RegExp;
|
|
3
|
+
message?: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Валидирует адресс электронной почты.
|
|
7
|
+
* @example getEmailRule()
|
|
8
|
+
*/
|
|
9
|
+
export declare const getEmailRule: ({ pattern, message, }: EmailRule) => {
|
|
10
|
+
pattern: RegExp;
|
|
11
|
+
message: string;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEmailRule = void 0;
|
|
4
|
+
const DEFAULT_PATTERN = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
|
|
5
|
+
const DEFAULT_MESSAGE = "Пожалуйста, проверьте правильность введенного адреса электронной почты.";
|
|
6
|
+
/**
|
|
7
|
+
* Валидирует адресс электронной почты.
|
|
8
|
+
* @example getEmailRule()
|
|
9
|
+
*/
|
|
10
|
+
const getEmailRule = ({ pattern = DEFAULT_PATTERN, message = DEFAULT_MESSAGE, }) => {
|
|
11
|
+
return {
|
|
12
|
+
pattern,
|
|
13
|
+
message,
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
exports.getEmailRule = getEmailRule;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Валидирует массив, на максимальное кол-во значений
|
|
3
|
+
* @param value - Массиов со значениями
|
|
4
|
+
* @example getMaxArrayLengthRule(2, "Максимальное кол-во значений - 2")
|
|
5
|
+
*/
|
|
6
|
+
export declare const getMaxArrayLengthRule: (max: number, message: string) => {
|
|
7
|
+
validator(_: unknown, value: unknown[]): Promise<void>;
|
|
8
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMaxArrayLengthRule = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Валидирует массив, на максимальное кол-во значений
|
|
6
|
+
* @param value - Массиов со значениями
|
|
7
|
+
* @example getMaxArrayLengthRule(2, "Максимальное кол-во значений - 2")
|
|
8
|
+
*/
|
|
9
|
+
const getMaxArrayLengthRule = (max, message) => ({
|
|
10
|
+
validator(_, value) {
|
|
11
|
+
if ((value === null || value === void 0 ? void 0 : value.length) > max) {
|
|
12
|
+
return Promise.reject(message);
|
|
13
|
+
}
|
|
14
|
+
return Promise.resolve();
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
exports.getMaxArrayLengthRule = getMaxArrayLengthRule;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Валидирует массив, на минимальное кол-во значений
|
|
3
|
+
* @param value - Массиов со значениями
|
|
4
|
+
* @param message - Кастомное сообщение.
|
|
5
|
+
* @example getMinArrayLengthRule(2, "Максимальное кол-во значений - 2")
|
|
6
|
+
*/
|
|
7
|
+
export declare const getMinArrayLengthRule: (min: number, message: string) => {
|
|
8
|
+
validator(_: unknown, value: unknown[]): Promise<void>;
|
|
9
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMinArrayLengthRule = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Валидирует массив, на минимальное кол-во значений
|
|
6
|
+
* @param value - Массиов со значениями
|
|
7
|
+
* @param message - Кастомное сообщение.
|
|
8
|
+
* @example getMinArrayLengthRule(2, "Максимальное кол-во значений - 2")
|
|
9
|
+
*/
|
|
10
|
+
const getMinArrayLengthRule = (min, message) => ({
|
|
11
|
+
validator(_, value) {
|
|
12
|
+
if ((value === null || value === void 0 ? void 0 : value.length) < min) {
|
|
13
|
+
return Promise.reject(message);
|
|
14
|
+
}
|
|
15
|
+
return Promise.resolve();
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
exports.getMinArrayLengthRule = getMinArrayLengthRule;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMinLengthRule = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Проверка минимальное кол-во символов в поле.
|
|
6
|
+
* @param len - Кол-во
|
|
7
|
+
* @param message - Сообщение.
|
|
8
|
+
* @example getMinLength(3)
|
|
9
|
+
*/
|
|
10
|
+
const getMinLengthRule = (len, message) => {
|
|
11
|
+
return {
|
|
12
|
+
len,
|
|
13
|
+
message: message || getMinLengthError(length),
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
exports.getMinLengthRule = getMinLengthRule;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMinRule = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Валидирует минимальное значение.
|
|
6
|
+
* @param min - Минимальное значение.
|
|
7
|
+
* @param message - Сообщение.
|
|
8
|
+
*/
|
|
9
|
+
const getMinRule = (min, message) => {
|
|
10
|
+
return {
|
|
11
|
+
type: 'number',
|
|
12
|
+
min,
|
|
13
|
+
message: message || getMinError(min),
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
exports.getMinRule = getMinRule;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Делает поле обязательным.
|
|
3
|
+
* @param isRequired - Статус обазательного поля.
|
|
4
|
+
* @param message - Кастомное сообщение об ошибке.
|
|
5
|
+
* @example getRequired(true)
|
|
6
|
+
*/
|
|
7
|
+
export declare const getRequiredRule: (isRequired?: boolean, message?: string) => {
|
|
8
|
+
required: boolean;
|
|
9
|
+
message: string;
|
|
10
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRequiredRule = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Делает поле обязательным.
|
|
6
|
+
* @param isRequired - Статус обазательного поля.
|
|
7
|
+
* @param message - Кастомное сообщение об ошибке.
|
|
8
|
+
* @example getRequired(true)
|
|
9
|
+
*/
|
|
10
|
+
const getRequiredRule = (isRequired = true, message) => {
|
|
11
|
+
const formattedMessage = message || "Это поле обязательное.";
|
|
12
|
+
return {
|
|
13
|
+
required: isRequired,
|
|
14
|
+
message: formattedMessage,
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
exports.getRequiredRule = getRequiredRule;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUrlRule = void 0;
|
|
4
|
+
const DEFAULT_MESSAGE = "Ссылка не соответствует формату";
|
|
5
|
+
const DEFAULT_PATTERN = /(http(s)?):\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/;
|
|
6
|
+
/**
|
|
7
|
+
* Валидирует поле с сылкой.
|
|
8
|
+
*/
|
|
9
|
+
const getUrlRule = ({ message = DEFAULT_MESSAGE, pattern = DEFAULT_PATTERN, }) => {
|
|
10
|
+
return {
|
|
11
|
+
message,
|
|
12
|
+
pattern,
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
exports.getUrlRule = getUrlRule;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare const MIN_TEXT = "\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 ";
|
|
2
|
+
/**
|
|
3
|
+
* Генирирует сообщение об ошибке.
|
|
4
|
+
* @param min - Минимальное значение.
|
|
5
|
+
*/
|
|
6
|
+
declare const getMinError: (min: number) => string;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare const MIN_LENGTH_TEXT = "\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043A\u043E\u043B-\u0432\u043E \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432 ";
|
|
2
|
+
/**
|
|
3
|
+
* Генерирует сообщение об ошибке.
|
|
4
|
+
* @param length - Количество символов.
|
|
5
|
+
*/
|
|
6
|
+
declare const getMinLengthError: (length: number) => string;
|
package/index.ts
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { getRequiredRule } from "./rules/get-require-rule";
|
|
2
|
+
import { getEmailRule } from "./rules/get-email-rule";
|
|
3
|
+
import { getMaxArrayLengthRule } from "./rules/get-max-array-length";
|
|
4
|
+
import { getMinLengthRule } from "./rules/get-min-length-rule";
|
|
5
|
+
import { getMinArrayLengthRule } from "./rules/get-min-array-length";
|
|
6
|
+
import { getMinRule } from "./rules/get-min-rule";
|
|
7
|
+
import { getUrlRule } from "./rules/get-url-rule";
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
getEmailRule,
|
|
11
|
+
getMaxArrayLengthRule,
|
|
12
|
+
getMinArrayLengthRule,
|
|
13
|
+
getMinLengthRule,
|
|
14
|
+
getMinRule,
|
|
15
|
+
getRequiredRule,
|
|
16
|
+
getUrlRule,
|
|
3
17
|
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const DEFAULT_PATTERN = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/
|
|
2
|
+
const DEFAULT_MESSAGE = "Пожалуйста, проверьте правильность введенного адреса электронной почты."
|
|
3
|
+
|
|
4
|
+
interface EmailRule {
|
|
5
|
+
pattern?: RegExp
|
|
6
|
+
message?: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Валидирует адресс электронной почты.
|
|
11
|
+
* @example getEmailRule()
|
|
12
|
+
*/
|
|
13
|
+
export const getEmailRule = ({
|
|
14
|
+
pattern = DEFAULT_PATTERN,
|
|
15
|
+
message = DEFAULT_MESSAGE,
|
|
16
|
+
}: EmailRule) => {
|
|
17
|
+
return {
|
|
18
|
+
pattern,
|
|
19
|
+
message,
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Валидирует массив, на максимальное кол-во значений
|
|
3
|
+
* @param value - Массиов со значениями
|
|
4
|
+
* @example getMaxArrayLengthRule(2, "Максимальное кол-во значений - 2")
|
|
5
|
+
*/
|
|
6
|
+
export const getMaxArrayLengthRule = (max: number, message: string) => ({
|
|
7
|
+
validator(_: unknown, value: unknown[]) {
|
|
8
|
+
if (value?.length > max) {
|
|
9
|
+
return Promise.reject(message)
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
return Promise.resolve()
|
|
14
|
+
}
|
|
15
|
+
})
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Валидирует массив, на минимальное кол-во значений
|
|
3
|
+
* @param value - Массиов со значениями
|
|
4
|
+
* @param message - Кастомное сообщение.
|
|
5
|
+
* @example getMinArrayLengthRule(2, "Максимальное кол-во значений - 2")
|
|
6
|
+
*/
|
|
7
|
+
export const getMinArrayLengthRule = (min: number, message: string) => ({
|
|
8
|
+
validator(_: unknown, value: unknown[]) {
|
|
9
|
+
if (value?.length < min) {
|
|
10
|
+
return Promise.reject(message)
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
return Promise.resolve()
|
|
15
|
+
}
|
|
16
|
+
})
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Проверка минимальное кол-во символов в поле.
|
|
3
|
+
* @param len - Кол-во
|
|
4
|
+
* @param message - Сообщение.
|
|
5
|
+
* @example getMinLength(3)
|
|
6
|
+
*/
|
|
7
|
+
export const getMinLengthRule = (len: number, message?: string) => {
|
|
8
|
+
return {
|
|
9
|
+
len,
|
|
10
|
+
message: message || getMinLengthError(length),
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Валидирует минимальное значение.
|
|
3
|
+
* @param min - Минимальное значение.
|
|
4
|
+
* @param message - Сообщение.
|
|
5
|
+
*/
|
|
6
|
+
export const getMinRule = (min: number, message?: string) => {
|
|
7
|
+
return {
|
|
8
|
+
type: 'number' as any,
|
|
9
|
+
min,
|
|
10
|
+
message: message || getMinError(min),
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Делает поле обязательным.
|
|
3
|
+
* @param isRequired - Статус обазательного поля.
|
|
4
|
+
* @param message - Кастомное сообщение об ошибке.
|
|
5
|
+
* @example getRequired(true)
|
|
6
|
+
*/
|
|
7
|
+
export const getRequiredRule = (isRequired = true, message?: string) => {
|
|
8
|
+
const formattedMessage = message || "Это поле обязательное.";
|
|
9
|
+
|
|
10
|
+
return {
|
|
11
|
+
required: isRequired,
|
|
12
|
+
message: formattedMessage,
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const DEFAULT_MESSAGE = "Ссылка не соответствует формату"
|
|
2
|
+
const DEFAULT_PATTERN = /(http(s)?):\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/
|
|
3
|
+
|
|
4
|
+
interface UrlRule {
|
|
5
|
+
message?: string
|
|
6
|
+
pattern?: RegExp
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Валидирует поле с сылкой.
|
|
11
|
+
*/
|
|
12
|
+
export const getUrlRule = ({
|
|
13
|
+
message = DEFAULT_MESSAGE,
|
|
14
|
+
pattern = DEFAULT_PATTERN,
|
|
15
|
+
}: UrlRule) => {
|
|
16
|
+
return {
|
|
17
|
+
message,
|
|
18
|
+
pattern,
|
|
19
|
+
};
|
|
20
|
+
};
|