From 2e74b1a23cb6eabd6f25dab82994c1789bc7040f Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Mon, 17 Apr 2023 15:05:26 +0300 Subject: [PATCH] fix tbxLastPaymentPerc validation --- apps/web/process/price/validation.ts | 21 +++++++++++++++++++++ apps/web/process/recalc/validation.ts | 19 ------------------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/apps/web/process/price/validation.ts b/apps/web/process/price/validation.ts index a924ba2..ef49ba5 100644 --- a/apps/web/process/price/validation.ts +++ b/apps/web/process/price/validation.ts @@ -8,7 +8,9 @@ import { z } from 'zod'; export function createValidationSchema({ apolloClient }: ValidationContext) { return ValuesSchema.pick({ VATInLeaseObjectPrice: true, + balanceHolder: true, firstPaymentRub: true, + lastPaymentPerc: true, leaseObjectPriceWthtVAT: true, plPriceRub: true, product: true, @@ -24,6 +26,8 @@ export function createValidationSchema({ apolloClient }: ValidationContext) { plPriceRub, firstPaymentRub, subsidySum, + balanceHolder, + lastPaymentPerc, }, ctx ) => { @@ -74,6 +78,23 @@ export function createValidationSchema({ apolloClient }: ValidationContext) { path: ['tbxFirstPaymentRub'], }); } + + if (balanceHolder === 100_000_001) { + if (lastPaymentPerc < 1) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: + 'При балансе лизингодатель последний платеж не может быть меньше 1%! Увеличьте значение.', + path: ['tbxLastPaymentPerc'], + }); + } + } else if (lastPaymentPerc === 0) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: 'Последний платеж не может быть равен 0. Увеличьте значение', + path: ['tbxLastPaymentPerc'], + }); + } } ); } diff --git a/apps/web/process/recalc/validation.ts b/apps/web/process/recalc/validation.ts index b9148ac..02244c9 100644 --- a/apps/web/process/recalc/validation.ts +++ b/apps/web/process/recalc/validation.ts @@ -9,7 +9,6 @@ import { z } from 'zod'; export function createValidationSchema({ apolloClient }: ValidationContext) { return ValuesSchema.pick({ addEquipmentPrice: true, - balanceHolder: true, countSeats: true, dealerPerson: true, discountRub: true, @@ -45,7 +44,6 @@ export function createValidationSchema({ apolloClient }: ValidationContext) { countSeats, leaseObjectYear, lastPaymentPerc, - balanceHolder, leaseObjectCategory, }, ctx @@ -236,23 +234,6 @@ export function createValidationSchema({ apolloClient }: ValidationContext) { path: ['tbxLastPaymentPerc'], }); } - - if (balanceHolder === 100_000_001) { - if (lastPaymentPerc < 1) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: - 'При балансе лизингодатель последний платеж не может быть меньше 1%! Увеличьте значение.', - path: ['tbxLastPaymentPerc'], - }); - } - } else if (lastPaymentPerc === 0) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - message: 'Последний платеж не может быть равен 0. Увеличьте значение', - path: ['tbxLastPaymentPerc'], - }); - } } } );