form.setFieldValue on an un-initialized field will create meta missing errors
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 6.7k
- Forks
- 682
- Avg merge
- 5d 18h
- Merged PRs (30d)
- 7
Description
Describe the bug
If you have a field that is displayed conditionally in the form, and use form.setFieldValue without dontUpdateMeta: true before it's initialization, it will create meta for this field without errors. I understand that makes more sense to update the value with dontUpdateMeta: true if the field wasn't initialized yet, but it can lead to some inconsistent behavior since we are not expecting errors to be undefined.
Your minimal, reproducible example
Steps to reproduce
go to: https://codesandbox.io/p/github/sinuheshinbr/tanstack-form-missing-errors/main?workspaceId=ws_NWHNzLQ8YDitxFDjr6vrpe
click on "setFieldValue"
then clikc on "Show"
Expected behavior
After clicking on setFieldValue meta shold include errors array even before the element initialization
How often does this bug happen?
None
Screenshots or Videos
No response
Platform
OS: Manjaro Linux
Browser: Chrome
Version: 129.0.6668.100
TanStack Form adapter
react-form
TanStack Form version
0.40.2
TypeScript version
5.5.3
Additional context
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue using the linked CodeSandbox and the react-form adapter, following the setFieldValue and conditional Show steps. Inspect the metadata update path for an uninitialized field, including the dontUpdateMeta option. Done means meta includes an errors array after setFieldValue and before the field is initialized.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100