fix: suspension day validation

This commit is contained in:
Sérgio Salgado 2021-03-29 23:50:42 +01:00 committed by Josh Harvey
parent 9094569b83
commit 0069ba8402
2 changed files with 11 additions and 8 deletions

View file

@ -228,7 +228,7 @@ const Wizard = ({ onClose, save, error, currency }) => {
const isSuspend = values?.requirement?.requirement === 'suspend' const isSuspend = values?.requirement?.requirement === 'suspend'
const hasRequirementError = const hasRequirementError =
!!errors.requirement?.suspensionDays && !!errors.requirement &&
!!touched.requirement?.suspensionDays && !!touched.requirement?.suspensionDays &&
(!values.requirement?.suspensionDays || (!values.requirement?.suspensionDays ||
values.requirement?.suspensionDays < 0) values.requirement?.suspensionDays < 0)
@ -254,8 +254,9 @@ const Wizard = ({ onClose, save, error, currency }) => {
) )
return errors.threshold return errors.threshold
if (isSuspend && hasRequirementError) console.log(errors)
return errors.requirement?.suspensionDays
if (isSuspend && hasRequirementError) return errors.requirement
} }
return ( return (

View file

@ -455,8 +455,8 @@ const requirementSchema = Yup.object()
suspensionDays: Yup.number().when('requirement', { suspensionDays: Yup.number().when('requirement', {
is: value => value === 'suspend', is: value => value === 'suspend',
then: Yup.number() then: Yup.number()
.required() .nullable()
.min(1), .transform(transformNumber),
otherwise: Yup.number() otherwise: Yup.number()
.nullable() .nullable()
.transform(() => null) .transform(() => null)
@ -464,6 +464,7 @@ const requirementSchema = Yup.object()
}).required() }).required()
}) })
.test(({ requirement }, context) => { .test(({ requirement }, context) => {
console.log('requirement aaaaa', requirement)
const requirementValidator = requirement => const requirementValidator = requirement =>
requirement.requirement === 'suspend' requirement.requirement === 'suspend'
? requirement.suspensionDays > 0 ? requirement.suspensionDays > 0
@ -494,7 +495,7 @@ const Requirement = () => {
const { touched, errors, values } = useFormikContext() const { touched, errors, values } = useFormikContext()
const hasRequirementError = const hasRequirementError =
!!errors.requirement?.suspensionDays && !!errors.requirement &&
!!touched.requirement?.suspensionDays && !!touched.requirement?.suspensionDays &&
(!values.requirement?.suspensionDays || (!values.requirement?.suspensionDays ||
values.requirement?.suspensionDays < 0) values.requirement?.suspensionDays < 0)
@ -503,8 +504,9 @@ const Requirement = () => {
const titleClass = { const titleClass = {
[classes.error]: [classes.error]:
!R.isEmpty(R.omit(['suspensionDays'], errors.requirement)) || (!!errors.requirement && !isSuspend) || (isSuspend && hasRequirementError)
(isSuspend && hasRequirementError) // !R.isEmpty(R.omit(['suspensionDays'], errors.requirement)) ||
// (isSuspend && hasRequirementError)
} }
return ( return (