Skip to content

fix: keep resolver root errors on submit - #13731

Merged
bluebill1049 merged 2 commits into
react-hook-form:masterfrom
soroush5:fix/handlesubmit-keep-resolver-root-error
Sep 10, 2026
Merged

bluebill1049 merged 2 commits into
react-hook-form:masterfrom
soroush5:fix/handlesubmit-keep-resolver-root-error

Conversation

@soroush5

Copy link
Copy Markdown
Contributor

handleSubmit deletes the top-level root error before checking validity, so a resolver reporting a form-level error (for example a cross-field check as errors.root) still submits as valid.

Repro: useForm with a resolver returning { values: {}, errors: { root: { type: 'cross-field', message: '...' } } }. Before this change onValid is called; after, onInvalid is called with the root error intact.

The root cleanup now only runs for built-in validation, where no validation step produces root errors and it clears stale manually set ones (covered by a second test). No behavior change there.

Verification: new tests in handleSubmit.test.tsx fail before and pass after; full jest suite 122 suites / 1348 tests green, tsc and eslint clean.

@bluebill1049
bluebill1049 merged commit f32faed into react-hook-form:master Sep 10, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants