Merge pull request #473 from xxleyi/fix-async-validating · final-form/final-form@d20c44b

Original file line numberDiff line numberDiff line change

@@ -479,6 +479,12 @@ function createForm<FormValues: FormValuesShape>(

479479

const afterPromise = () => {

480480

state.formState.validating--;

481481

callback();

482+

// field async validation may affect formState validating

483+

// so force notifyFormListeners if validating is still 0 after callback finished

484+

// and lastFormState validating is true

485+

if (state.formState.validating === 0 && state.lastFormState.validating) {

486+

notifyFormListeners();

487+

}

482488

};

483489
484490

promise