fix: correctly parse dates on customer edit
This commit is contained in:
parent
48eb658c20
commit
7a4d3af8b1
2 changed files with 29 additions and 18 deletions
|
|
@ -147,19 +147,25 @@ const Wizard = ({
|
||||||
onSubmit={onContinue}
|
onSubmit={onContinue}
|
||||||
initialValues={stepOptions.initialValues}
|
initialValues={stepOptions.initialValues}
|
||||||
validationSchema={stepOptions.schema}>
|
validationSchema={stepOptions.schema}>
|
||||||
<Form className={classes.form}>
|
{({ errors }) => (
|
||||||
<stepOptions.Component
|
<Form className={classes.form}>
|
||||||
selectedValues={selectedValues}
|
<stepOptions.Component
|
||||||
customInfoRequirementOptions={customInfoRequirementOptions}
|
selectedValues={selectedValues}
|
||||||
{...stepOptions.props}
|
customInfoRequirementOptions={customInfoRequirementOptions}
|
||||||
/>
|
errors={errors}
|
||||||
<div className={classes.submit}>
|
{...stepOptions.props}
|
||||||
{error && <ErrorMessage>Failed to save</ErrorMessage>}
|
/>
|
||||||
<Button className={classes.button} type="submit">
|
<div className={classes.submit}>
|
||||||
{isLastStep ? 'Add Data' : 'Next'}
|
{error && <ErrorMessage>Failed to save</ErrorMessage>}
|
||||||
</Button>
|
{Object.keys(errors).length > 0 && (
|
||||||
</div>
|
<ErrorMessage>{Object.values(errors)[0]}</ErrorMessage>
|
||||||
</Form>
|
)}
|
||||||
|
<Button className={classes.button} type="submit">
|
||||||
|
{isLastStep ? 'Add Data' : 'Next'}
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</Form>
|
||||||
|
)}
|
||||||
</Formik>
|
</Formik>
|
||||||
</Modal>
|
</Modal>
|
||||||
</>
|
</>
|
||||||
|
|
|
||||||
|
|
@ -453,14 +453,16 @@ const customerDataSchemas = {
|
||||||
documentNumber: Yup.string().required(),
|
documentNumber: Yup.string().required(),
|
||||||
dateOfBirth: Yup.string()
|
dateOfBirth: Yup.string()
|
||||||
.test({
|
.test({
|
||||||
test: val => isValid(parse(new Date(), 'yyyy-MM-dd', val))
|
test: val => isValid(parse(new Date(), 'yyyy-MM-dd', val)),
|
||||||
|
message: 'Date must be in format YYYY-MM-DD'
|
||||||
})
|
})
|
||||||
.required(),
|
.required(),
|
||||||
gender: Yup.string().required(),
|
gender: Yup.string().required(),
|
||||||
country: Yup.string().required(),
|
country: Yup.string().required(),
|
||||||
expirationDate: Yup.string()
|
expirationDate: Yup.string()
|
||||||
.test({
|
.test({
|
||||||
test: val => isValid(parse(new Date(), 'yyyy-MM-dd', val))
|
test: val => isValid(parse(new Date(), 'yyyy-MM-dd', val)),
|
||||||
|
message: 'Date must be in format YYYY-MM-DD'
|
||||||
})
|
})
|
||||||
.required()
|
.required()
|
||||||
}),
|
}),
|
||||||
|
|
@ -543,9 +545,12 @@ const tryFormatDate = rawDate => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const formatDates = values => {
|
const formatDates = values => {
|
||||||
R.forEach(elem => {
|
R.map(
|
||||||
values[elem] = tryFormatDate(values[elem])
|
elem =>
|
||||||
})(['dateOfBirth', 'expirationDate'])
|
(values[elem] = format('yyyyMMdd')(
|
||||||
|
parse(new Date(), 'yyyy-MM-dd', values[elem])
|
||||||
|
))
|
||||||
|
)(['dateOfBirth', 'expirationDate'])
|
||||||
return values
|
return values
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue