diff --git a/packages/formik/src/FieldArray.tsx b/packages/formik/src/FieldArray.tsx index 5e2806417..82ff2ca76 100644 --- a/packages/formik/src/FieldArray.tsx +++ b/packages/formik/src/FieldArray.tsx @@ -145,7 +145,7 @@ class FieldArrayInner extends React.Component< getIn(this.props.formik.values, this.props.name) ) ) { - this.props.formik.validateForm(this.props.formik.values); + this.props.formik.validateFormWithLowPriority(this.props.formik.values); } } diff --git a/packages/formik/src/Formik.tsx b/packages/formik/src/Formik.tsx index d9e95ee04..8cd504f34 100755 --- a/packages/formik/src/Formik.tsx +++ b/packages/formik/src/Formik.tsx @@ -894,6 +894,7 @@ export function useFormik({ resetForm, validateForm: validateFormWithHighPriority, + validateFormWithLowPriority, validateField, setErrors, setFieldError, @@ -1031,6 +1032,7 @@ export function useFormik({ setValues, submitForm, validateForm: validateFormWithHighPriority, + validateFormWithLowPriority, validateField, isValid, dirty, diff --git a/packages/formik/src/types.tsx b/packages/formik/src/types.tsx index 53172ba9d..1d26c4d98 100644 --- a/packages/formik/src/types.tsx +++ b/packages/formik/src/types.tsx @@ -103,6 +103,8 @@ export interface FormikHelpers { ) => void; /** Validate form values */ validateForm: (values?: any) => Promise>; + /** Validate form values w/o blocking UI */ + validateFormWithLowPriority: (values?: any) => void; /** Validate field value */ validateField: (field: string) => void; /** Reset form */ diff --git a/packages/formik/test/withFormik.test.tsx b/packages/formik/test/withFormik.test.tsx index e4e139698..9d3e302e5 100644 --- a/packages/formik/test/withFormik.test.tsx +++ b/packages/formik/test/withFormik.test.tsx @@ -109,6 +109,7 @@ describe('withFormik()', () => { unregisterField: expect.any(Function), validateField: expect.any(Function), validateForm: expect.any(Function), + validateFormWithLowPriority: expect.any(Function), validateOnBlur: true, validateOnMount: false, validateOnChange: true, @@ -192,6 +193,7 @@ describe('withFormik()', () => { setValues: expect.any(Function), validateField: expect.any(Function), validateForm: expect.any(Function), + validateFormWithLowPriority: expect.any(Function), submitForm: expect.any(Function), } )