@redneckz/wildless-cms-uni-blocks 0.14.821 → 0.14.822
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/bundle/bundle.umd.js +54 -15
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/retail/validator/getLimitedBirthdayValidation.d.ts +2 -0
- package/bundle/retail/validator/validators.d.ts +6 -1
- package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +9 -2
- package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/dist/components/CreditCardForm/CreditCardFormStep.js +7 -1
- package/dist/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
- package/dist/components/CreditForm/CreditFormStep.js +7 -1
- package/dist/components/CreditForm/CreditFormStep.js.map +1 -1
- package/dist/components/DebitForm/DebitFormStep.js +7 -1
- package/dist/components/DebitForm/DebitFormStep.js.map +1 -1
- package/dist/retail/validator/getLimitedBirthdayValidation.d.ts +2 -0
- package/dist/retail/validator/getLimitedBirthdayValidation.js +21 -0
- package/dist/retail/validator/getLimitedBirthdayValidation.js.map +1 -0
- package/dist/retail/validator/validatorObj.js +0 -1
- package/dist/retail/validator/validatorObj.js.map +1 -1
- package/dist/retail/validator/validators.d.ts +6 -1
- package/dist/retail/validator/validators.js +10 -8
- package/dist/retail/validator/validators.js.map +1 -1
- package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +9 -2
- package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/lib/components/CreditCardForm/CreditCardFormStep.js +7 -1
- package/lib/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
- package/lib/components/CreditForm/CreditFormStep.js +7 -1
- package/lib/components/CreditForm/CreditFormStep.js.map +1 -1
- package/lib/components/DebitForm/DebitFormStep.js +7 -1
- package/lib/components/DebitForm/DebitFormStep.js.map +1 -1
- package/lib/retail/validator/getLimitedBirthdayValidation.d.ts +2 -0
- package/lib/retail/validator/getLimitedBirthdayValidation.js +18 -0
- package/lib/retail/validator/getLimitedBirthdayValidation.js.map +1 -0
- package/lib/retail/validator/validatorObj.js +1 -2
- package/lib/retail/validator/validatorObj.js.map +1 -1
- package/lib/retail/validator/validators.d.ts +6 -1
- package/lib/retail/validator/validators.js +10 -8
- package/lib/retail/validator/validators.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +48 -14
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/retail/validator/getLimitedBirthdayValidation.d.ts +2 -0
- package/mobile/bundle/retail/validator/validators.d.ts +6 -1
- package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +9 -2
- package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/mobile/dist/components/CreditCardForm/CreditCardFormStep.js +7 -1
- package/mobile/dist/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
- package/mobile/dist/components/CreditForm/CreditFormStep.js +7 -1
- package/mobile/dist/components/CreditForm/CreditFormStep.js.map +1 -1
- package/mobile/dist/components/DebitForm/DebitFormStep.js +7 -1
- package/mobile/dist/components/DebitForm/DebitFormStep.js.map +1 -1
- package/mobile/dist/retail/validator/getLimitedBirthdayValidation.d.ts +2 -0
- package/mobile/dist/retail/validator/getLimitedBirthdayValidation.js +21 -0
- package/mobile/dist/retail/validator/getLimitedBirthdayValidation.js.map +1 -0
- package/mobile/dist/retail/validator/validatorObj.js +0 -1
- package/mobile/dist/retail/validator/validatorObj.js.map +1 -1
- package/mobile/dist/retail/validator/validators.d.ts +6 -1
- package/mobile/dist/retail/validator/validators.js +10 -8
- package/mobile/dist/retail/validator/validators.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +9 -2
- package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/mobile/lib/components/CreditCardForm/CreditCardFormStep.js +7 -1
- package/mobile/lib/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
- package/mobile/lib/components/CreditForm/CreditFormStep.js +7 -1
- package/mobile/lib/components/CreditForm/CreditFormStep.js.map +1 -1
- package/mobile/lib/components/DebitForm/DebitFormStep.js +7 -1
- package/mobile/lib/components/DebitForm/DebitFormStep.js.map +1 -1
- package/mobile/lib/retail/validator/getLimitedBirthdayValidation.d.ts +2 -0
- package/mobile/lib/retail/validator/getLimitedBirthdayValidation.js +18 -0
- package/mobile/lib/retail/validator/getLimitedBirthdayValidation.js.map +1 -0
- package/mobile/lib/retail/validator/validatorObj.js +1 -2
- package/mobile/lib/retail/validator/validatorObj.js.map +1 -1
- package/mobile/lib/retail/validator/validators.d.ts +6 -1
- package/mobile/lib/retail/validator/validators.js +10 -8
- package/mobile/lib/retail/validator/validators.js.map +1 -1
- package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +17 -6
- package/mobile/src/components/CreditCardForm/CreditCardFormStep.tsx +9 -1
- package/mobile/src/components/CreditForm/CreditFormStep.tsx +10 -1
- package/mobile/src/components/DebitForm/DebitFormStep.tsx +9 -1
- package/mobile/src/retail/validator/getLimitedBirthdayValidation.ts +21 -0
- package/mobile/src/retail/validator/validatorObj.ts +0 -2
- package/mobile/src/retail/validator/validators.ts +24 -13
- package/package.json +1 -1
- package/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +17 -6
- package/src/components/CreditCardForm/CreditCardFormStep.tsx +9 -1
- package/src/components/CreditForm/CreditFormStep.tsx +10 -1
- package/src/components/DebitForm/DebitFormStep.tsx +9 -1
- package/src/retail/validator/getLimitedBirthdayValidation.ts +21 -0
- package/src/retail/validator/validatorObj.ts +0 -2
- package/src/retail/validator/validators.ts +24 -13
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { type Address } from '../model/LeadFormState';
|
|
2
|
+
export interface LimitedBirthdayValidationParams {
|
|
3
|
+
minAge: number;
|
|
4
|
+
maxAge?: number;
|
|
5
|
+
errorMessage: string;
|
|
6
|
+
}
|
|
2
7
|
export declare const addressDaDataValidator: () => import("../../validation/validator").Validator<Address>;
|
|
3
8
|
export declare const addressOrganizationValidator: () => import("../../validation/validator").Validator<Address>;
|
|
4
9
|
export declare const codeWordValidator: (errorMsg?: string) => import("../../validation/validator").Validator<any>;
|
|
5
10
|
export declare const jobNumberValidator: (errorMsg?: string) => import("../../validation/validator").Validator<any>;
|
|
6
11
|
export declare const lengthStringValidator: (inputLength: number, errorMsg?: string) => import("../../validation/validator").Validator<any>;
|
|
7
|
-
export declare const limitedBirthdayValidator: () => import("../../validation/validator").Validator<Date | undefined>;
|
|
12
|
+
export declare const limitedBirthdayValidator: (params: LimitedBirthdayValidationParams) => import("../../validation/validator").Validator<Date | undefined>;
|
|
8
13
|
export declare const numberValidator: (errorMsg: string) => import("../../validation/validator").Validator<any>;
|
|
9
14
|
export declare const serieValidator: (errorMsg: string) => import("../../validation/validator").Validator<any>;
|
|
10
15
|
export declare const snilsValidator: (errorMsg: string) => import("../../validation/validator").Validator<string>;
|
|
@@ -5,6 +5,7 @@ const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
|
5
5
|
const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
6
6
|
const useBool_1 = require("@redneckz/uni-jsx/lib/hooks/useBool");
|
|
7
7
|
const useForm_1 = require("../../hooks/useForm/useForm");
|
|
8
|
+
const getLimitedBirthdayValidation_1 = require("../../retail/validator/getLimitedBirthdayValidation");
|
|
8
9
|
const validatorObj_1 = require("../../retail/validator/validatorObj");
|
|
9
10
|
const ApplicationFormLayout_1 = require("../../ui-kit/ApplicationFormLayout/ApplicationFormLayout");
|
|
10
11
|
const useDialog_1 = require("../../ui-kit/DialogManager/useDialog");
|
|
@@ -23,8 +24,9 @@ const useInitApplicationLead_1 = require("./useInitApplicationLead");
|
|
|
23
24
|
exports.ApplicationLeadForm = (0, uni_jsx_1.JSX)(({ className, title, programId = '', nextStepLink = '/credit-lead', button, productType = 'credit', data, ...rest }) => {
|
|
24
25
|
const [esiaError, { setTrue: setEsiaError }] = (0, useBool_1.useBool)(false);
|
|
25
26
|
const applicationFormData = (0, hooks_1.useMemo)(() => (0, applicationFormData_1.getApplicationFormData)(productType), [productType]);
|
|
26
|
-
const inputs = (0, hooks_1.useMemo)(() => (applicationFormData
|
|
27
|
-
const
|
|
27
|
+
const inputs = (0, hooks_1.useMemo)(() => getInputs(applicationFormData), [applicationFormData]);
|
|
28
|
+
const extendedValidatorObj = (0, hooks_1.useMemo)(() => getExtendedValidatorObj(productType), [productType]);
|
|
29
|
+
const formValidator = (0, hooks_1.useMemo)(() => (0, getObjectValidator_1.getFormValidator)(inputs, extendedValidatorObj), [inputs, extendedValidatorObj]);
|
|
28
30
|
const [initialFormState, { isLoading }] = (0, useInitApplicationLead_1.useInitApplicationLead)({
|
|
29
31
|
inputs,
|
|
30
32
|
nextStepLink,
|
|
@@ -50,4 +52,9 @@ exports.ApplicationLeadForm = (0, uni_jsx_1.JSX)(({ className, title, programId
|
|
|
50
52
|
}, [ok]);
|
|
51
53
|
return ((0, jsx_runtime_1.jsx)(ApplicationFormLayout_1.ApplicationFormLayout, { className: (0, style_1.style)('container space-y-m', className), title: title, ...rest, children: (0, jsx_runtime_1.jsxs)("form", { onSubmit: onSubmit, className: "space-y-m relative", children: [isLoading ? (0, jsx_runtime_1.jsx)(Loader_1.Loader, { blur: false }) : null, applicationFormData.map((_, i) => ((0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)((0, inputColumnStyle_1.inputColumnStyles)(_.columns), 'grid gap-x-m'), children: [(0, renderTitle_1.renderTitle)(_.title), (0, renderInputs_1.renderInputs)({ field, inputs: _?.inputs }, productType)] }, `section-${i}`))), (0, renderSubmitButton_1.renderSubmitButton)(button, isSending), esiaError ? ((0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-m", font: "font-medium", color: "text-error", children: "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438 \u0434\u043B\u044F \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F \u0437\u0430\u044F\u0432\u043A\u0438 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0437\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043F\u043E\u043B\u044F \u0432\u0440\u0443\u0447\u043D\u0443\u044E." })) : null] }) }));
|
|
52
54
|
});
|
|
55
|
+
const getInputs = (applicationFormData) => (applicationFormData?.flatMap((_) => _?.inputs) || []);
|
|
56
|
+
const getExtendedValidatorObj = (productType) => ({
|
|
57
|
+
...validatorObj_1.validatorObj,
|
|
58
|
+
limitedBirthday: (0, getLimitedBirthdayValidation_1.getLimitedBirthdayValidation)(productType),
|
|
59
|
+
});
|
|
53
60
|
//# sourceMappingURL=ApplicationLeadForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationLeadForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationLeadForm/ApplicationLeadForm.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAiE;AACjE,iEAA8D;AAC9D,yDAAsD;
|
|
1
|
+
{"version":3,"file":"ApplicationLeadForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationLeadForm/ApplicationLeadForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,15 +6,21 @@ const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
|
6
6
|
const useForm_1 = require("../../hooks/useForm/useForm");
|
|
7
7
|
const calculateInputs_1 = require("../../retail/utils/calculateInputs");
|
|
8
8
|
const renderStep_1 = require("../../retail/utils/renderStep");
|
|
9
|
+
const getLimitedBirthdayValidation_1 = require("../../retail/validator/getLimitedBirthdayValidation");
|
|
9
10
|
const validatorObj_1 = require("../../retail/validator/validatorObj");
|
|
10
11
|
const getObjectValidator_1 = require("../../ui-kit/FormField/getObjectValidator");
|
|
11
12
|
const StepsNavigationButtons_1 = require("./StepsNavigationButtons");
|
|
12
13
|
const useCreditCardFormAPI_1 = require("./useCreditCardFormAPI");
|
|
14
|
+
const PRODUCT_TYPE = 'creditCard';
|
|
15
|
+
const extendedValidatorObj = {
|
|
16
|
+
...validatorObj_1.validatorObj,
|
|
17
|
+
limitedBirthday: (0, getLimitedBirthdayValidation_1.getLimitedBirthdayValidation)(PRODUCT_TYPE),
|
|
18
|
+
};
|
|
13
19
|
exports.CreditCardFormStep = (0, uni_jsx_1.JSX)(({ step, sections, onPrevStep, onNextStep, onFinish }) => {
|
|
14
20
|
const inputs = (0, hooks_1.useMemo)(() => sections?.flatMap((_) => _?.inputs || []), [sections]);
|
|
15
21
|
const formValidator = (0, hooks_1.useCallback)((formState) =>
|
|
16
22
|
// TODO Слишком сложно
|
|
17
|
-
(0, getObjectValidator_1.getFormValidator)((0, calculateInputs_1.calculateInputs)((_) => formState[_])(inputs, step),
|
|
23
|
+
(0, getObjectValidator_1.getFormValidator)((0, calculateInputs_1.calculateInputs)((_) => formState[_])(inputs, step), extendedValidatorObj)(formState), [inputs]);
|
|
18
24
|
const [initialState, onSubmit, isSending] = (0, useCreditCardFormAPI_1.useCreditCardFormAPI)({
|
|
19
25
|
step,
|
|
20
26
|
onNextStep,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreditCardFormStep.js","sourceRoot":"","sources":["../../../src/components/CreditCardForm/CreditCardFormStep.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAmE;AACnE,yDAAsD;AAGtD,wEAAqE;AACrE,8DAA2D;AAC3D,sEAAmE;AACnE,kFAA6E;AAC7E,qEAAkE;AAClE,iEAA8D;
|
|
1
|
+
{"version":3,"file":"CreditCardFormStep.js","sourceRoot":"","sources":["../../../src/components/CreditCardForm/CreditCardFormStep.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAmE;AACnE,yDAAsD;AAGtD,wEAAqE;AACrE,8DAA2D;AAC3D,sGAAmG;AACnG,sEAAmE;AACnE,kFAA6E;AAC7E,qEAAkE;AAClE,iEAA8D;AAU9D,MAAM,YAAY,GAAG,YAAY,CAAC;AAElC,MAAM,oBAAoB,GAAG;IAC3B,GAAG,2BAAY;IACf,eAAe,EAAE,IAAA,2DAA4B,EAAC,YAAY,CAAC;CAC5D,CAAC;AAEW,QAAA,kBAAkB,GAAG,IAAA,aAAG,EACnC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,IAAA,eAAO,EACpB,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,EACpE,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,CAAC,SAAwB,EAAE,EAAE;IAC3B,sBAAsB;IACtB,IAAA,qCAAgB,EACd,IAAA,iCAAe,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAClD,oBAAoB,CACrB,CAAC,SAAS,CAAC,EACd,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAA,2CAAoB,EAAC;QAC/D,IAAI;QACJ,UAAU;QACV,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,GAAG,IAAA,iBAAO,EAAC,YAAY,EAAE;QAClE,aAAa;QACb,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CACL,kCAAM,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAC,WAAW,aAChD,IAAA,uBAAU,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACtC,uBAAC,+CAAsB,IAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,GAAI,IAC/E,CACR,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -7,17 +7,23 @@ const useForm_1 = require("../../hooks/useForm/useForm");
|
|
|
7
7
|
const useRetailFormStore_1 = require("../../retail/hooks/useRetailFormStore");
|
|
8
8
|
const calculateInputs_1 = require("../../retail/utils/calculateInputs");
|
|
9
9
|
const renderStep_1 = require("../../retail/utils/renderStep");
|
|
10
|
+
const getLimitedBirthdayValidation_1 = require("../../retail/validator/getLimitedBirthdayValidation");
|
|
10
11
|
const validatorObj_1 = require("../../retail/validator/validatorObj");
|
|
11
12
|
const getObjectValidator_1 = require("../../ui-kit/FormField/getObjectValidator");
|
|
12
13
|
const StepsNavigationButtons_1 = require("./StepsNavigationButtons");
|
|
13
14
|
const useCreditFormAPI_1 = require("./useCreditFormAPI");
|
|
15
|
+
const PRODUCT_TYPE = 'credit';
|
|
16
|
+
const extendedValidatorObj = {
|
|
17
|
+
...validatorObj_1.validatorObj,
|
|
18
|
+
limitedBirthday: (0, getLimitedBirthdayValidation_1.getLimitedBirthdayValidation)(PRODUCT_TYPE),
|
|
19
|
+
};
|
|
14
20
|
exports.CreditFormStep = (0, uni_jsx_1.JSX)(({ step, sections, programsSource, onPrevStep, onNextStep, onFinish }) => {
|
|
15
21
|
const { programId } = (0, useRetailFormStore_1.useRetailFormStore)();
|
|
16
22
|
const calcData = programsSource?.[programId ?? '']; // Need normalizator useForm, to be save defaultParams
|
|
17
23
|
const inputs = (0, hooks_1.useMemo)(() => sections?.flatMap((_) => _?.inputs ?? []), [sections]);
|
|
18
24
|
const formValidator = (0, hooks_1.useCallback)((formState) =>
|
|
19
25
|
// TODO Слишком сложно
|
|
20
|
-
(0, getObjectValidator_1.getFormValidator)((0, calculateInputs_1.calculateInputs)((_) => formState[_])(inputs, step),
|
|
26
|
+
(0, getObjectValidator_1.getFormValidator)((0, calculateInputs_1.calculateInputs)((_) => formState[_])(inputs, step), extendedValidatorObj)(formState), [inputs]);
|
|
21
27
|
const [initialState, onSubmit, isSending] = (0, useCreditFormAPI_1.useCreditFormAPI)({
|
|
22
28
|
step,
|
|
23
29
|
onNextStep,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreditFormStep.js","sourceRoot":"","sources":["../../../src/components/CreditForm/CreditFormStep.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAmE;AACnE,yDAAsD;AACtD,8EAA2E;AAG3E,wEAAqE;AACrE,8DAA2D;AAC3D,sEAAmE;AACnE,kFAA6E;AAE7E,qEAAkE;AAClE,yDAAsD;
|
|
1
|
+
{"version":3,"file":"CreditFormStep.js","sourceRoot":"","sources":["../../../src/components/CreditForm/CreditFormStep.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAmE;AACnE,yDAAsD;AACtD,8EAA2E;AAG3E,wEAAqE;AACrE,8DAA2D;AAC3D,sGAAmG;AACnG,sEAAmE;AACnE,kFAA6E;AAE7E,qEAAkE;AAClE,yDAAsD;AAWtD,MAAM,YAAY,GAAG,QAAQ,CAAC;AAE9B,MAAM,oBAAoB,GAAG;IAC3B,GAAG,2BAAY;IACf,eAAe,EAAE,IAAA,2DAA4B,EAAC,YAAY,CAAC;CAC5D,CAAC;AAEW,QAAA,cAAc,GAAG,IAAA,aAAG,EAC/B,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,uCAAkB,GAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,sDAAsD;IAE1G,MAAM,MAAM,GAAG,IAAA,eAAO,EACpB,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,EACpE,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,CAAC,SAAwB,EAAE,EAAE;IAC3B,sBAAsB;IACtB,IAAA,qCAAgB,EACd,IAAA,iCAAe,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAClD,oBAAoB,CACrB,CAAC,SAAS,CAAC,EACd,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAA,mCAAgB,EAAC;QAC3D,IAAI;QACJ,UAAU;QACV,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,GAAG,IAAA,iBAAO,EAAC,YAAY,EAAE;QAClE,aAAa;QACb,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CACL,kCAAM,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAC,WAAW,aAChD,IAAA,uBAAU,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAC5D,uBAAC,+CAAsB,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAI,IAC/E,CACR,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -6,15 +6,21 @@ const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
|
|
|
6
6
|
const useForm_1 = require("../../hooks/useForm/useForm");
|
|
7
7
|
const calculateInputs_1 = require("../../retail/utils/calculateInputs");
|
|
8
8
|
const renderStep_1 = require("../../retail/utils/renderStep");
|
|
9
|
+
const getLimitedBirthdayValidation_1 = require("../../retail/validator/getLimitedBirthdayValidation");
|
|
9
10
|
const validatorObj_1 = require("../../retail/validator/validatorObj");
|
|
10
11
|
const getObjectValidator_1 = require("../../ui-kit/FormField/getObjectValidator");
|
|
11
12
|
const StepsNavigationButtons_1 = require("./StepsNavigationButtons");
|
|
12
13
|
const useDebitFormAPI_1 = require("./useDebitFormAPI");
|
|
14
|
+
const PRODUCT_TYPE = 'debitCard';
|
|
15
|
+
const extendedValidatorObj = {
|
|
16
|
+
...validatorObj_1.validatorObj,
|
|
17
|
+
limitedBirthday: (0, getLimitedBirthdayValidation_1.getLimitedBirthdayValidation)(PRODUCT_TYPE),
|
|
18
|
+
};
|
|
13
19
|
exports.DebitFormStep = (0, uni_jsx_1.JSX)(({ step, sections, onPrevStep, onNextStep, onFinish }) => {
|
|
14
20
|
const inputs = (0, hooks_1.useMemo)(() => sections?.flatMap((_) => _?.inputs ?? []), [sections]);
|
|
15
21
|
const formValidator = (0, hooks_1.useCallback)((formState) =>
|
|
16
22
|
// TODO Слишком сложно
|
|
17
|
-
(0, getObjectValidator_1.getFormValidator)((0, calculateInputs_1.calculateInputs)((_) => formState[_])(inputs, step),
|
|
23
|
+
(0, getObjectValidator_1.getFormValidator)((0, calculateInputs_1.calculateInputs)((_) => formState[_])(inputs, step), extendedValidatorObj)(formState), [inputs]);
|
|
18
24
|
const [initialState, onSubmit, isSending] = (0, useDebitFormAPI_1.useDebitFormAPI)({
|
|
19
25
|
step,
|
|
20
26
|
onNextStep,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebitFormStep.js","sourceRoot":"","sources":["../../../src/components/DebitForm/DebitFormStep.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAmE;AACnE,yDAAsD;AAGtD,wEAAqE;AACrE,8DAA2D;AAC3D,sEAAmE;AACnE,kFAA6E;AAC7E,qEAAkE;AAClE,uDAAoD;
|
|
1
|
+
{"version":3,"file":"DebitFormStep.js","sourceRoot":"","sources":["../../../src/components/DebitForm/DebitFormStep.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAmE;AACnE,yDAAsD;AAGtD,wEAAqE;AACrE,8DAA2D;AAC3D,sGAAmG;AACnG,sEAAmE;AACnE,kFAA6E;AAC7E,qEAAkE;AAClE,uDAAoD;AAUpD,MAAM,YAAY,GAAG,WAAW,CAAC;AAEjC,MAAM,oBAAoB,GAAG;IAC3B,GAAG,2BAAY;IACf,eAAe,EAAE,IAAA,2DAA4B,EAAC,YAAY,CAAC;CAC5D,CAAC;AAEW,QAAA,aAAa,GAAG,IAAA,aAAG,EAC9B,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,IAAA,eAAO,EACpB,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,EACpE,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,mBAAW,EAC/B,CAAC,SAAwB,EAAE,EAAE;IAC3B,sBAAsB;IACtB,IAAA,qCAAgB,EACd,IAAA,iCAAe,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAClD,oBAAoB,CACrB,CAAC,SAAS,CAAC,EACd,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAA,iCAAe,EAAC;QAC1D,IAAI;QACJ,UAAU;QACV,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,GAAG,IAAA,iBAAO,EAAC,YAAY,EAAE;QAClE,aAAa;QACb,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CACL,kCAAM,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAC,WAAW,aAChD,IAAA,uBAAU,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACtC,uBAAC,+CAAsB,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAI,IAC/E,CACR,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.getLimitedBirthdayValidation = void 0;
|
|
3
|
+
const validators_1 = require("./validators");
|
|
4
|
+
const limitedBirthdayValidationData = {
|
|
5
|
+
credit: {
|
|
6
|
+
minAge: 23,
|
|
7
|
+
maxAge: 75,
|
|
8
|
+
errorMessage: 'Допустимый возраст заёмщика - от 23 до 75 лет',
|
|
9
|
+
},
|
|
10
|
+
creditCard: {
|
|
11
|
+
minAge: 21,
|
|
12
|
+
errorMessage: 'Допустимый возраст заёмщика - от 21 года',
|
|
13
|
+
},
|
|
14
|
+
debitCard: {
|
|
15
|
+
minAge: 18,
|
|
16
|
+
errorMessage: 'Допустимый возраст - от 18 лет',
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
const getLimitedBirthdayValidation = (productType) => (0, validators_1.limitedBirthdayValidator)(limitedBirthdayValidationData[productType]);
|
|
20
|
+
exports.getLimitedBirthdayValidation = getLimitedBirthdayValidation;
|
|
21
|
+
//# sourceMappingURL=getLimitedBirthdayValidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLimitedBirthdayValidation.js","sourceRoot":"","sources":["../../../src/retail/validator/getLimitedBirthdayValidation.ts"],"names":[],"mappings":";;AACA,6CAA8F;AAE9F,MAAM,6BAA6B,GAAyD;IAC1F,MAAM,EAAE;QACN,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,+CAA+C;KAC9D;IACD,UAAU,EAAE;QACV,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,0CAA0C;KACzD;IACD,SAAS,EAAE;QACT,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,gCAAgC;KAC/C;CACF,CAAC;AAEK,MAAM,4BAA4B,GAAG,CAAC,WAAwB,EAAE,EAAE,CACvE,IAAA,qCAAwB,EAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,CAAC;AAD1D,QAAA,4BAA4B,gCAC8B"}
|
|
@@ -36,7 +36,6 @@ const validatorRetailObj = {
|
|
|
36
36
|
addressRetail: (0, validators_1.defaultSelectValidator)('Выберите адрес банка'),
|
|
37
37
|
addressMatch: (0, validators_1.defaultValidator)(),
|
|
38
38
|
sex: (0, validators_1.defaultValidator)('Укажите свой пол'),
|
|
39
|
-
limitedBirthday: (0, validators_2.limitedBirthdayValidator)(),
|
|
40
39
|
birthPlace: (0, validators_1.defaultValidator)('Укажите место рождения'),
|
|
41
40
|
education: (0, validators_1.defaultSelectValidator)('Выберите ваше образование'),
|
|
42
41
|
housing: (0, validators_1.defaultSelectValidator)('Выберите тип жилья'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validatorObj.js","sourceRoot":"","sources":["../../../src/retail/validator/validatorObj.ts"],"names":[],"mappings":";;AAAA,kEAK2C;AAE3C,
|
|
1
|
+
{"version":3,"file":"validatorObj.js","sourceRoot":"","sources":["../../../src/retail/validator/validatorObj.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { type Address } from '../model/LeadFormState';
|
|
2
|
+
export interface LimitedBirthdayValidationParams {
|
|
3
|
+
minAge: number;
|
|
4
|
+
maxAge?: number;
|
|
5
|
+
errorMessage: string;
|
|
6
|
+
}
|
|
2
7
|
export declare const addressDaDataValidator: () => import("../../validation/validator").Validator<Address>;
|
|
3
8
|
export declare const addressOrganizationValidator: () => import("../../validation/validator").Validator<Address>;
|
|
4
9
|
export declare const codeWordValidator: (errorMsg?: string) => import("../../validation/validator").Validator<any>;
|
|
5
10
|
export declare const jobNumberValidator: (errorMsg?: string) => import("../../validation/validator").Validator<any>;
|
|
6
11
|
export declare const lengthStringValidator: (inputLength: number, errorMsg?: string) => import("../../validation/validator").Validator<any>;
|
|
7
|
-
export declare const limitedBirthdayValidator: () => import("../../validation/validator").Validator<Date | undefined>;
|
|
12
|
+
export declare const limitedBirthdayValidator: (params: LimitedBirthdayValidationParams) => import("../../validation/validator").Validator<Date | undefined>;
|
|
8
13
|
export declare const numberValidator: (errorMsg: string) => import("../../validation/validator").Validator<any>;
|
|
9
14
|
export declare const serieValidator: (errorMsg: string) => import("../../validation/validator").Validator<any>;
|
|
10
15
|
export declare const snilsValidator: (errorMsg: string) => import("../../validation/validator").Validator<string>;
|
|
@@ -4,9 +4,6 @@ const isCyrilic_1 = require("../../utils/isCyrilic");
|
|
|
4
4
|
const validator_1 = require("../../validation/validator");
|
|
5
5
|
const ERROR_MESSAGE = 'Некорректно заполненное поле';
|
|
6
6
|
const ADDRESS_ERROR_MESSAGE = 'Укажите регион, город/населенный пункт, улицу, дом';
|
|
7
|
-
const MIN_AGE = 23;
|
|
8
|
-
const MAX_AGE = 75;
|
|
9
|
-
const AGE_ERROR_MESSAGE = 'Допустимый возраст заёмщика - от 23 до 75 лет';
|
|
10
7
|
const addressDaDataValidate = (address) => Boolean(address.region && (address.city || address.locality) && address.house);
|
|
11
8
|
const addressDaDataValidator = () => (0, validator_1.validator)(addressDaDataValidate)(ADDRESS_ERROR_MESSAGE);
|
|
12
9
|
exports.addressDaDataValidator = addressDaDataValidator;
|
|
@@ -18,16 +15,21 @@ const jobNumberValidator = (errorMsg) => (0, validator_1.validator)((_) => typeo
|
|
|
18
15
|
exports.jobNumberValidator = jobNumberValidator;
|
|
19
16
|
const lengthStringValidator = (inputLength, errorMsg) => (0, validator_1.validator)((_) => typeof _ === 'string' && _.length >= 1 && _.length <= inputLength)(errorMsg ?? ERROR_MESSAGE);
|
|
20
17
|
exports.lengthStringValidator = lengthStringValidator;
|
|
21
|
-
const limitedBirthdayValidate = (date) => {
|
|
18
|
+
const limitedBirthdayValidate = ({ minAge, maxAge }) => (date) => {
|
|
22
19
|
const today = new Date();
|
|
23
|
-
const minDate = new Date(today.getFullYear() -
|
|
24
|
-
const maxDate =
|
|
25
|
-
|
|
20
|
+
const minDate = new Date(today.getFullYear() - minAge, today.getMonth(), today.getDate());
|
|
21
|
+
const maxDate = maxAge
|
|
22
|
+
? new Date(today.getFullYear() - maxAge, today.getMonth(), today.getDate())
|
|
23
|
+
: null;
|
|
24
|
+
if (!date || date > minDate) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
if (maxDate && date < maxDate) {
|
|
26
28
|
return false;
|
|
27
29
|
}
|
|
28
30
|
return true;
|
|
29
31
|
};
|
|
30
|
-
const limitedBirthdayValidator = () => (0, validator_1.validator)(limitedBirthdayValidate)(
|
|
32
|
+
const limitedBirthdayValidator = (params) => (0, validator_1.validator)(limitedBirthdayValidate(params))(params.errorMessage);
|
|
31
33
|
exports.limitedBirthdayValidator = limitedBirthdayValidator;
|
|
32
34
|
const numberValidator = (errorMsg) => (0, validator_1.validator)((_) => typeof _ === 'string' && _.length === 6)(errorMsg);
|
|
33
35
|
exports.numberValidator = numberValidator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/retail/validator/validators.ts"],"names":[],"mappings":";;AAAA,qDAAmD;AACnD,0DAAuD;AAGvD,MAAM,aAAa,GAAG,8BAA8B,CAAC;AAErD,MAAM,qBAAqB,GAAG,oDAAoD,CAAC;
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/retail/validator/validators.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { JSX } from '@redneckz/uni-jsx';
|
|
|
3
3
|
import { useEffect, useMemo } from '@redneckz/uni-jsx/lib/hooks';
|
|
4
4
|
import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
|
|
5
5
|
import { useForm } from '../../hooks/useForm/useForm.js';
|
|
6
|
+
import { getLimitedBirthdayValidation } from '../../retail/validator/getLimitedBirthdayValidation.js';
|
|
6
7
|
import { validatorObj } from '../../retail/validator/validatorObj.js';
|
|
7
8
|
import { ApplicationFormLayout } from '../../ui-kit/ApplicationFormLayout/ApplicationFormLayout.js';
|
|
8
9
|
import { useDialog } from '../../ui-kit/DialogManager/useDialog.js';
|
|
@@ -21,8 +22,9 @@ import { useInitApplicationLead } from './useInitApplicationLead.js';
|
|
|
21
22
|
export const ApplicationLeadForm = JSX(({ className, title, programId = '', nextStepLink = '/credit-lead', button, productType = 'credit', data, ...rest }) => {
|
|
22
23
|
const [esiaError, { setTrue: setEsiaError }] = useBool(false);
|
|
23
24
|
const applicationFormData = useMemo(() => getApplicationFormData(productType), [productType]);
|
|
24
|
-
const inputs = useMemo(() => (applicationFormData
|
|
25
|
-
const
|
|
25
|
+
const inputs = useMemo(() => getInputs(applicationFormData), [applicationFormData]);
|
|
26
|
+
const extendedValidatorObj = useMemo(() => getExtendedValidatorObj(productType), [productType]);
|
|
27
|
+
const formValidator = useMemo(() => getFormValidator(inputs, extendedValidatorObj), [inputs, extendedValidatorObj]);
|
|
26
28
|
const [initialFormState, { isLoading }] = useInitApplicationLead({
|
|
27
29
|
inputs,
|
|
28
30
|
nextStepLink,
|
|
@@ -48,4 +50,9 @@ export const ApplicationLeadForm = JSX(({ className, title, programId = '', next
|
|
|
48
50
|
}, [ok]);
|
|
49
51
|
return (_jsx(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: _jsxs("form", { onSubmit: onSubmit, className: "space-y-m relative", children: [isLoading ? _jsx(Loader, { blur: false }) : null, applicationFormData.map((_, i) => (_jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs({ field, inputs: _?.inputs }, productType)] }, `section-${i}`))), renderSubmitButton(button, isSending), esiaError ? (_jsx(Text, { size: "text-m", font: "font-medium", color: "text-error", children: "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438 \u0434\u043B\u044F \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F \u0437\u0430\u044F\u0432\u043A\u0438 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0437\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043F\u043E\u043B\u044F \u0432\u0440\u0443\u0447\u043D\u0443\u044E." })) : null] }) }));
|
|
50
52
|
});
|
|
53
|
+
const getInputs = (applicationFormData) => (applicationFormData?.flatMap((_) => _?.inputs) || []);
|
|
54
|
+
const getExtendedValidatorObj = (productType) => ({
|
|
55
|
+
...validatorObj,
|
|
56
|
+
limitedBirthday: getLimitedBirthdayValidation(productType),
|
|
57
|
+
});
|
|
51
58
|
//# sourceMappingURL=ApplicationLeadForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationLeadForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationLeadForm/ApplicationLeadForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"ApplicationLeadForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationLeadForm/ApplicationLeadForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,15 +4,21 @@ import { useCallback, useMemo } from '@redneckz/uni-jsx/lib/hooks';
|
|
|
4
4
|
import { useForm } from '../../hooks/useForm/useForm.js';
|
|
5
5
|
import { calculateInputs } from '../../retail/utils/calculateInputs.js';
|
|
6
6
|
import { renderStep } from '../../retail/utils/renderStep.js';
|
|
7
|
+
import { getLimitedBirthdayValidation } from '../../retail/validator/getLimitedBirthdayValidation.js';
|
|
7
8
|
import { validatorObj } from '../../retail/validator/validatorObj.js';
|
|
8
9
|
import { getFormValidator } from '../../ui-kit/FormField/getObjectValidator.js';
|
|
9
10
|
import { StepsNavigationButtons } from './StepsNavigationButtons.js';
|
|
10
11
|
import { useCreditCardFormAPI } from './useCreditCardFormAPI.js';
|
|
12
|
+
const PRODUCT_TYPE = 'creditCard';
|
|
13
|
+
const extendedValidatorObj = {
|
|
14
|
+
...validatorObj,
|
|
15
|
+
limitedBirthday: getLimitedBirthdayValidation(PRODUCT_TYPE),
|
|
16
|
+
};
|
|
11
17
|
export const CreditCardFormStep = JSX(({ step, sections, onPrevStep, onNextStep, onFinish }) => {
|
|
12
18
|
const inputs = useMemo(() => sections?.flatMap((_) => _?.inputs || []), [sections]);
|
|
13
19
|
const formValidator = useCallback((formState) =>
|
|
14
20
|
// TODO Слишком сложно
|
|
15
|
-
getFormValidator(calculateInputs((_) => formState[_])(inputs, step),
|
|
21
|
+
getFormValidator(calculateInputs((_) => formState[_])(inputs, step), extendedValidatorObj)(formState), [inputs]);
|
|
16
22
|
const [initialState, onSubmit, isSending] = useCreditCardFormAPI({
|
|
17
23
|
step,
|
|
18
24
|
onNextStep,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreditCardFormStep.js","sourceRoot":"","sources":["../../../src/components/CreditCardForm/CreditCardFormStep.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAU9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CACnC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,EACpE,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,SAAwB,EAAE,EAAE;IAC3B,sBAAsB;IACtB,gBAAgB,CACd,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAClD,
|
|
1
|
+
{"version":3,"file":"CreditCardFormStep.js","sourceRoot":"","sources":["../../../src/components/CreditCardForm/CreditCardFormStep.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAU9D,MAAM,YAAY,GAAG,YAAY,CAAC;AAElC,MAAM,oBAAoB,GAAG;IAC3B,GAAG,YAAY;IACf,eAAe,EAAE,4BAA4B,CAAC,YAAY,CAAC;CAC5D,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CACnC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,EACpE,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,SAAwB,EAAE,EAAE;IAC3B,sBAAsB;IACtB,gBAAgB,CACd,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAClD,oBAAoB,CACrB,CAAC,SAAS,CAAC,EACd,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,oBAAoB,CAAC;QAC/D,IAAI;QACJ,UAAU;QACV,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE;QAClE,aAAa;QACb,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CACL,gBAAM,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAC,WAAW,aAChD,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACtC,KAAC,sBAAsB,IAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,GAAI,IAC/E,CACR,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -5,17 +5,23 @@ import { useForm } from '../../hooks/useForm/useForm.js';
|
|
|
5
5
|
import { useRetailFormStore } from '../../retail/hooks/useRetailFormStore.js';
|
|
6
6
|
import { calculateInputs } from '../../retail/utils/calculateInputs.js';
|
|
7
7
|
import { renderStep } from '../../retail/utils/renderStep.js';
|
|
8
|
+
import { getLimitedBirthdayValidation } from '../../retail/validator/getLimitedBirthdayValidation.js';
|
|
8
9
|
import { validatorObj } from '../../retail/validator/validatorObj.js';
|
|
9
10
|
import { getFormValidator } from '../../ui-kit/FormField/getObjectValidator.js';
|
|
10
11
|
import { StepsNavigationButtons } from './StepsNavigationButtons.js';
|
|
11
12
|
import { useCreditFormAPI } from './useCreditFormAPI.js';
|
|
13
|
+
const PRODUCT_TYPE = 'credit';
|
|
14
|
+
const extendedValidatorObj = {
|
|
15
|
+
...validatorObj,
|
|
16
|
+
limitedBirthday: getLimitedBirthdayValidation(PRODUCT_TYPE),
|
|
17
|
+
};
|
|
12
18
|
export const CreditFormStep = JSX(({ step, sections, programsSource, onPrevStep, onNextStep, onFinish }) => {
|
|
13
19
|
const { programId } = useRetailFormStore();
|
|
14
20
|
const calcData = programsSource?.[programId ?? '']; // Need normalizator useForm, to be save defaultParams
|
|
15
21
|
const inputs = useMemo(() => sections?.flatMap((_) => _?.inputs ?? []), [sections]);
|
|
16
22
|
const formValidator = useCallback((formState) =>
|
|
17
23
|
// TODO Слишком сложно
|
|
18
|
-
getFormValidator(calculateInputs((_) => formState[_])(inputs, step),
|
|
24
|
+
getFormValidator(calculateInputs((_) => formState[_])(inputs, step), extendedValidatorObj)(formState), [inputs]);
|
|
19
25
|
const [initialState, onSubmit, isSending] = useCreditFormAPI({
|
|
20
26
|
step,
|
|
21
27
|
onNextStep,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreditFormStep.js","sourceRoot":"","sources":["../../../src/components/CreditForm/CreditFormStep.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAG3E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAWtD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAC/B,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvE,MAAM,EAAE,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,sDAAsD;IAE1G,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,EACpE,CAAC,QAAQ,CAAC,CACX,CAAC;
|
|
1
|
+
{"version":3,"file":"CreditFormStep.js","sourceRoot":"","sources":["../../../src/components/CreditForm/CreditFormStep.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAG3E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAWtD,MAAM,YAAY,GAAG,QAAQ,CAAC;AAE9B,MAAM,oBAAoB,GAAG;IAC3B,GAAG,YAAY;IACf,eAAe,EAAE,4BAA4B,CAAC,YAAY,CAAC;CAC5D,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAC/B,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvE,MAAM,EAAE,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,sDAAsD;IAE1G,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,EACpE,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,SAAwB,EAAE,EAAE;IAC3B,sBAAsB;IACtB,gBAAgB,CACd,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAClD,oBAAoB,CACrB,CAAC,SAAS,CAAC,EACd,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,gBAAgB,CAAC;QAC3D,IAAI;QACJ,UAAU;QACV,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE;QAClE,aAAa;QACb,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CACL,gBAAM,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAC,WAAW,aAChD,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAC5D,KAAC,sBAAsB,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAI,IAC/E,CACR,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -4,15 +4,21 @@ import { useCallback, useMemo } from '@redneckz/uni-jsx/lib/hooks';
|
|
|
4
4
|
import { useForm } from '../../hooks/useForm/useForm.js';
|
|
5
5
|
import { calculateInputs } from '../../retail/utils/calculateInputs.js';
|
|
6
6
|
import { renderStep } from '../../retail/utils/renderStep.js';
|
|
7
|
+
import { getLimitedBirthdayValidation } from '../../retail/validator/getLimitedBirthdayValidation.js';
|
|
7
8
|
import { validatorObj } from '../../retail/validator/validatorObj.js';
|
|
8
9
|
import { getFormValidator } from '../../ui-kit/FormField/getObjectValidator.js';
|
|
9
10
|
import { StepsNavigationButtons } from './StepsNavigationButtons.js';
|
|
10
11
|
import { useDebitFormAPI } from './useDebitFormAPI.js';
|
|
12
|
+
const PRODUCT_TYPE = 'debitCard';
|
|
13
|
+
const extendedValidatorObj = {
|
|
14
|
+
...validatorObj,
|
|
15
|
+
limitedBirthday: getLimitedBirthdayValidation(PRODUCT_TYPE),
|
|
16
|
+
};
|
|
11
17
|
export const DebitFormStep = JSX(({ step, sections, onPrevStep, onNextStep, onFinish }) => {
|
|
12
18
|
const inputs = useMemo(() => sections?.flatMap((_) => _?.inputs ?? []), [sections]);
|
|
13
19
|
const formValidator = useCallback((formState) =>
|
|
14
20
|
// TODO Слишком сложно
|
|
15
|
-
getFormValidator(calculateInputs((_) => formState[_])(inputs, step),
|
|
21
|
+
getFormValidator(calculateInputs((_) => formState[_])(inputs, step), extendedValidatorObj)(formState), [inputs]);
|
|
16
22
|
const [initialState, onSubmit, isSending] = useDebitFormAPI({
|
|
17
23
|
step,
|
|
18
24
|
onNextStep,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebitFormStep.js","sourceRoot":"","sources":["../../../src/components/DebitForm/DebitFormStep.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAUpD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAC9B,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,EACpE,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,SAAwB,EAAE,EAAE;IAC3B,sBAAsB;IACtB,gBAAgB,CACd,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAClD,
|
|
1
|
+
{"version":3,"file":"DebitFormStep.js","sourceRoot":"","sources":["../../../src/components/DebitForm/DebitFormStep.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAUpD,MAAM,YAAY,GAAG,WAAW,CAAC;AAEjC,MAAM,oBAAoB,GAAG;IAC3B,GAAG,YAAY;IACf,eAAe,EAAE,4BAA4B,CAAC,YAAY,CAAC;CAC5D,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAC9B,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,EACpE,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,SAAwB,EAAE,EAAE;IAC3B,sBAAsB;IACtB,gBAAgB,CACd,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAClD,oBAAoB,CACrB,CAAC,SAAS,CAAC,EACd,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC;QAC1D,IAAI;QACJ,UAAU;QACV,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE;QAClE,aAAa;QACb,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CACL,gBAAM,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAC,WAAW,aAChD,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACtC,KAAC,sBAAsB,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAI,IAC/E,CACR,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { limitedBirthdayValidator } from './validators.js';
|
|
2
|
+
const limitedBirthdayValidationData = {
|
|
3
|
+
credit: {
|
|
4
|
+
minAge: 23,
|
|
5
|
+
maxAge: 75,
|
|
6
|
+
errorMessage: 'Допустимый возраст заёмщика - от 23 до 75 лет',
|
|
7
|
+
},
|
|
8
|
+
creditCard: {
|
|
9
|
+
minAge: 21,
|
|
10
|
+
errorMessage: 'Допустимый возраст заёмщика - от 21 года',
|
|
11
|
+
},
|
|
12
|
+
debitCard: {
|
|
13
|
+
minAge: 18,
|
|
14
|
+
errorMessage: 'Допустимый возраст - от 18 лет',
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
export const getLimitedBirthdayValidation = (productType) => limitedBirthdayValidator(limitedBirthdayValidationData[productType]);
|
|
18
|
+
//# sourceMappingURL=getLimitedBirthdayValidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getLimitedBirthdayValidation.js","sourceRoot":"","sources":["../../../src/retail/validator/getLimitedBirthdayValidation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAwC,MAAM,cAAc,CAAC;AAE9F,MAAM,6BAA6B,GAAyD;IAC1F,MAAM,EAAE;QACN,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,+CAA+C;KAC9D;IACD,UAAU,EAAE;QACV,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,0CAA0C;KACzD;IACD,SAAS,EAAE;QACT,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,gCAAgC;KAC/C;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,WAAwB,EAAE,EAAE,CACvE,wBAAwB,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { agreementValidator, defaultSelectValidator, defaultValidator, phoneValidator, } from '../../ui-kit/FormField/validators.js';
|
|
2
|
-
import { addressDaDataValidator, addressOrganizationValidator, codeWordValidator, jobNumberValidator, lengthStringValidator,
|
|
2
|
+
import { addressDaDataValidator, addressOrganizationValidator, codeWordValidator, jobNumberValidator, lengthStringValidator, numberValidator, serieValidator, snilsValidator, } from './validators.js';
|
|
3
3
|
const validatorConsentsObj = {
|
|
4
4
|
processPersonalDataFlg: agreementValidator,
|
|
5
5
|
consentProviderFlg: agreementValidator,
|
|
@@ -34,7 +34,6 @@ const validatorRetailObj = {
|
|
|
34
34
|
addressRetail: defaultSelectValidator('Выберите адрес банка'),
|
|
35
35
|
addressMatch: defaultValidator(),
|
|
36
36
|
sex: defaultValidator('Укажите свой пол'),
|
|
37
|
-
limitedBirthday: limitedBirthdayValidator(),
|
|
38
37
|
birthPlace: defaultValidator('Укажите место рождения'),
|
|
39
38
|
education: defaultSelectValidator('Выберите ваше образование'),
|
|
40
39
|
housing: defaultSelectValidator('Выберите тип жилья'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validatorObj.js","sourceRoot":"","sources":["../../../src/retail/validator/validatorObj.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,GACf,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"validatorObj.js","sourceRoot":"","sources":["../../../src/retail/validator/validatorObj.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { type Address } from '../model/LeadFormState';
|
|
2
|
+
export interface LimitedBirthdayValidationParams {
|
|
3
|
+
minAge: number;
|
|
4
|
+
maxAge?: number;
|
|
5
|
+
errorMessage: string;
|
|
6
|
+
}
|
|
2
7
|
export declare const addressDaDataValidator: () => import("../../validation/validator").Validator<Address>;
|
|
3
8
|
export declare const addressOrganizationValidator: () => import("../../validation/validator").Validator<Address>;
|
|
4
9
|
export declare const codeWordValidator: (errorMsg?: string) => import("../../validation/validator").Validator<any>;
|
|
5
10
|
export declare const jobNumberValidator: (errorMsg?: string) => import("../../validation/validator").Validator<any>;
|
|
6
11
|
export declare const lengthStringValidator: (inputLength: number, errorMsg?: string) => import("../../validation/validator").Validator<any>;
|
|
7
|
-
export declare const limitedBirthdayValidator: () => import("../../validation/validator").Validator<Date | undefined>;
|
|
12
|
+
export declare const limitedBirthdayValidator: (params: LimitedBirthdayValidationParams) => import("../../validation/validator").Validator<Date | undefined>;
|
|
8
13
|
export declare const numberValidator: (errorMsg: string) => import("../../validation/validator").Validator<any>;
|
|
9
14
|
export declare const serieValidator: (errorMsg: string) => import("../../validation/validator").Validator<any>;
|
|
10
15
|
export declare const snilsValidator: (errorMsg: string) => import("../../validation/validator").Validator<string>;
|
|
@@ -2,25 +2,27 @@ import { isCyrillic } from '../../utils/isCyrilic.js';
|
|
|
2
2
|
import { validator } from '../../validation/validator.js';
|
|
3
3
|
const ERROR_MESSAGE = 'Некорректно заполненное поле';
|
|
4
4
|
const ADDRESS_ERROR_MESSAGE = 'Укажите регион, город/населенный пункт, улицу, дом';
|
|
5
|
-
const MIN_AGE = 23;
|
|
6
|
-
const MAX_AGE = 75;
|
|
7
|
-
const AGE_ERROR_MESSAGE = 'Допустимый возраст заёмщика - от 23 до 75 лет';
|
|
8
5
|
const addressDaDataValidate = (address) => Boolean(address.region && (address.city || address.locality) && address.house);
|
|
9
6
|
export const addressDaDataValidator = () => validator(addressDaDataValidate)(ADDRESS_ERROR_MESSAGE);
|
|
10
7
|
export const addressOrganizationValidator = () => validator((address) => Boolean(address.fiasCode && (address.city || address.locality) && address.house))(ADDRESS_ERROR_MESSAGE);
|
|
11
8
|
export const codeWordValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 3 && _.length <= 21 && isCyrillic(_))(errorMsg ?? ERROR_MESSAGE);
|
|
12
9
|
export const jobNumberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && /^[0-9]{1,2}$/g.test(_))(errorMsg ?? ERROR_MESSAGE);
|
|
13
10
|
export const lengthStringValidator = (inputLength, errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 1 && _.length <= inputLength)(errorMsg ?? ERROR_MESSAGE);
|
|
14
|
-
const limitedBirthdayValidate = (date) => {
|
|
11
|
+
const limitedBirthdayValidate = ({ minAge, maxAge }) => (date) => {
|
|
15
12
|
const today = new Date();
|
|
16
|
-
const minDate = new Date(today.getFullYear() -
|
|
17
|
-
const maxDate =
|
|
18
|
-
|
|
13
|
+
const minDate = new Date(today.getFullYear() - minAge, today.getMonth(), today.getDate());
|
|
14
|
+
const maxDate = maxAge
|
|
15
|
+
? new Date(today.getFullYear() - maxAge, today.getMonth(), today.getDate())
|
|
16
|
+
: null;
|
|
17
|
+
if (!date || date > minDate) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
if (maxDate && date < maxDate) {
|
|
19
21
|
return false;
|
|
20
22
|
}
|
|
21
23
|
return true;
|
|
22
24
|
};
|
|
23
|
-
export const limitedBirthdayValidator = () => validator(limitedBirthdayValidate)(
|
|
25
|
+
export const limitedBirthdayValidator = (params) => validator(limitedBirthdayValidate(params))(params.errorMessage);
|
|
24
26
|
export const numberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 6)(errorMsg);
|
|
25
27
|
export const serieValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length === 4)(errorMsg);
|
|
26
28
|
const snilsValidate = (snils) => {
|