|
1 | 1 | import UIErrors from "../../../domain/entities/UIErrors"; |
2 | 2 | import { symbols } from "./currencies"; |
3 | 3 |
|
4 | | -const capitalContributionValidation = ( |
5 | | - data: { |
6 | | - contribution_currency_type: string; |
7 | | - contribution_currency_value: string; |
8 | | - contribution_sub_types: string[]; |
9 | | - }, |
10 | | - i18n: any |
11 | | -): void => { |
| 4 | +const capitalContributionValidation = (data: Record<string, string | string[]>, i18n: any): void => { |
12 | 5 | const uiErrors = new UIErrors(); |
13 | 6 |
|
14 | | - contributionCurrencyValueValidation(data, uiErrors, i18n); |
15 | | - |
16 | | - if (!data.contribution_sub_types.length) { |
17 | | - uiErrors.formatValidationErrorToUiErrors({ |
18 | | - errors: { |
19 | | - contribution_sub_types: i18n?.errorMessages?.capitalContribution?.atLeastOneType |
20 | | - } |
21 | | - }); |
| 7 | + if (!data.contribution_currency_type) { |
| 8 | + uiErrors.setWebError("contribution_currency_type", i18n?.errorMessages?.capitalContribution?.currencyRequired); |
22 | 9 | } |
23 | 10 |
|
24 | | - if (!data.contribution_currency_type) { |
25 | | - uiErrors.formatValidationErrorToUiErrors({ |
26 | | - errors: { |
27 | | - contribution_currency_type: i18n?.errorMessages?.capitalContribution?.currencyRequired |
28 | | - } |
29 | | - }); |
| 11 | + if (!data.contribution_sub_types?.length) { |
| 12 | + uiErrors.setWebError("contribution_sub_types", i18n?.errorMessages?.capitalContribution?.atLeastOneType); |
30 | 13 | } |
31 | 14 |
|
| 15 | + contributionCurrencyValueValidation(data, uiErrors, i18n); |
| 16 | + |
32 | 17 | if (uiErrors.hasErrors()) { |
33 | 18 | throw uiErrors; |
34 | 19 | } |
35 | 20 | }; |
36 | 21 |
|
37 | | -const contributionCurrencyValueValidation = ( |
38 | | - data: { contribution_currency_type: string; contribution_currency_value: string; contribution_sub_types: string[] }, |
39 | | - uiErrors: UIErrors, |
40 | | - i18n: any |
41 | | -) => { |
42 | | - if (hasSymbol(data.contribution_currency_value, symbols)) { |
43 | | - uiErrors.formatValidationErrorToUiErrors({ |
44 | | - errors: { |
45 | | - contribution_currency_value: i18n?.errorMessages?.capitalContribution?.noSymbols |
46 | | - } |
47 | | - }); |
| 22 | +const contributionCurrencyValueValidation = (data: Record<string, any>, uiErrors: UIErrors, i18n: any) => { |
| 23 | + const field = "contribution_currency_value"; |
| 24 | + |
| 25 | + if (!data.contribution_currency_value) { |
| 26 | + uiErrors.setWebError(field, i18n?.errorMessages?.capitalContribution?.valueRequired); |
| 27 | + } else if (hasSymbol(data.contribution_currency_value, symbols)) { |
| 28 | + uiErrors.setWebError(field, i18n?.errorMessages?.capitalContribution?.noSymbols); |
48 | 29 | } else if (hasComma(data.contribution_currency_value)) { |
49 | | - uiErrors.formatValidationErrorToUiErrors({ |
50 | | - errors: { |
51 | | - contribution_currency_value: i18n?.errorMessages?.capitalContribution?.noComma |
52 | | - } |
53 | | - }); |
| 30 | + uiErrors.setWebError(field, i18n?.errorMessages?.capitalContribution?.noComma); |
54 | 31 | } else if (!isNumber(data.contribution_currency_value) || !has2Decimal(data.contribution_currency_value)) { |
55 | | - uiErrors.formatValidationErrorToUiErrors({ |
56 | | - errors: { |
57 | | - contribution_currency_value: i18n?.errorMessages?.capitalContribution?.twoDecimalPlaces |
58 | | - } |
59 | | - }); |
| 32 | + uiErrors.setWebError(field, i18n?.errorMessages?.capitalContribution?.twoDecimalPlaces); |
60 | 33 | } else if (!isGreaterThanZero(data.contribution_currency_value)) { |
61 | | - uiErrors.formatValidationErrorToUiErrors({ |
62 | | - errors: { |
63 | | - contribution_currency_value: i18n?.errorMessages?.capitalContribution?.moreThanZero |
64 | | - } |
65 | | - }); |
| 34 | + uiErrors.setWebError(field, i18n?.errorMessages?.capitalContribution?.moreThanZero); |
66 | 35 | } |
67 | 36 | }; |
68 | 37 |
|
|
0 commit comments