fix(form-core): Resolve onSubmitInvalid not being called with invalid default values #1997
+0
−9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
When a form is initialized with invalid default values, the
onSubmitInvalidcallback was not being called on the first submission attempt. This occurred because an earlycanSubmitcheck in the_handleSubmitmethod would short-circuit the validation flow before reaching the proper validation logic.Root Cause
The issue was located in
packages/form-core/src/FormApi.tsin the_handleSubmitmethod. An early check:This check was preventing the form from:
validateAllFields('submit')to validate all fieldsonSubmitInvalidcallback when validation failsSolution
Removed the stale early
canSubmitcheck from the_handleSubmitmethod. The form now:validateAllFields('submit')onSubmitInvalidwhen validation failsChanges Made
canSubmitguard in_handleSubmitmethodonSubmitInvalidcallback is invoked when appropriateTesting
This fix addresses the issue described in #1990 where forms with invalid default values were not triggering the
onSubmitInvalidcallback.Closes #1990- Fixes: onSubmitInvalid not called when form is invalid with default values
🎯 Changes
✅ Checklist
pnpm test:pr.🚀 Release Impact