diff --git a/components/form.js b/components/form.js index 4a275b2bf..7abad5820 100644 --- a/components/form.js +++ b/components/form.js @@ -450,7 +450,9 @@ function InputInner ({ if (draft) { // for some reason we have to turn off validation to get formik to // not assume this is invalid - helpers.setValue(draft, false) + const isNumeric = /^[0-9]+$/.test(draft) + const numericExpected = typeof field.value === 'number' + helpers.setValue(isNumeric && numericExpected ? parseInt(draft) : draft, false) onChange && onChange(formik, { target: { value: draft } }) } }