From 0069ba84026b09bdc644f4a9dcea6d211489dc75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Salgado?= Date: Mon, 29 Mar 2021 23:50:42 +0100 Subject: [PATCH] fix: suspension day validation --- new-lamassu-admin/src/pages/Triggers/Wizard.js | 7 ++++--- new-lamassu-admin/src/pages/Triggers/helper.js | 12 +++++++----- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/new-lamassu-admin/src/pages/Triggers/Wizard.js b/new-lamassu-admin/src/pages/Triggers/Wizard.js index f83bb3e6..13feff27 100644 --- a/new-lamassu-admin/src/pages/Triggers/Wizard.js +++ b/new-lamassu-admin/src/pages/Triggers/Wizard.js @@ -228,7 +228,7 @@ const Wizard = ({ onClose, save, error, currency }) => { const isSuspend = values?.requirement?.requirement === 'suspend' const hasRequirementError = - !!errors.requirement?.suspensionDays && + !!errors.requirement && !!touched.requirement?.suspensionDays && (!values.requirement?.suspensionDays || values.requirement?.suspensionDays < 0) @@ -254,8 +254,9 @@ const Wizard = ({ onClose, save, error, currency }) => { ) return errors.threshold - if (isSuspend && hasRequirementError) - return errors.requirement?.suspensionDays + console.log(errors) + + if (isSuspend && hasRequirementError) return errors.requirement } return ( diff --git a/new-lamassu-admin/src/pages/Triggers/helper.js b/new-lamassu-admin/src/pages/Triggers/helper.js index e3b075a1..db297779 100644 --- a/new-lamassu-admin/src/pages/Triggers/helper.js +++ b/new-lamassu-admin/src/pages/Triggers/helper.js @@ -455,8 +455,8 @@ const requirementSchema = Yup.object() suspensionDays: Yup.number().when('requirement', { is: value => value === 'suspend', then: Yup.number() - .required() - .min(1), + .nullable() + .transform(transformNumber), otherwise: Yup.number() .nullable() .transform(() => null) @@ -464,6 +464,7 @@ const requirementSchema = Yup.object() }).required() }) .test(({ requirement }, context) => { + console.log('requirement aaaaa', requirement) const requirementValidator = requirement => requirement.requirement === 'suspend' ? requirement.suspensionDays > 0 @@ -494,7 +495,7 @@ const Requirement = () => { const { touched, errors, values } = useFormikContext() const hasRequirementError = - !!errors.requirement?.suspensionDays && + !!errors.requirement && !!touched.requirement?.suspensionDays && (!values.requirement?.suspensionDays || values.requirement?.suspensionDays < 0) @@ -503,8 +504,9 @@ const Requirement = () => { const titleClass = { [classes.error]: - !R.isEmpty(R.omit(['suspensionDays'], errors.requirement)) || - (isSuspend && hasRequirementError) + (!!errors.requirement && !isSuspend) || (isSuspend && hasRequirementError) + // !R.isEmpty(R.omit(['suspensionDays'], errors.requirement)) || + // (isSuspend && hasRequirementError) } return (