onSubmit validation skips untouched fields when some fields have onBlur validation
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 6.7k
- Forks
- 682
- Merge moyen
- 5 j 18 h
- PR mergées (30 j)
- 7
Description
Describe the bug
When using TanStack Form with onBlur validation on all individual fields and onSubmit for the entire form, the onSubmit validation only validates fields that have been "touched" (focused/blurred). Fields that haven't been interacted with are skipped during form submission validation, even though they should be validated.
Your minimal, reproducible example
https://stackblitz.com/edit/vitejs-vite-sviy39k3?file=src%2FApp.tsx
Steps to reproduce
- Focus and blur the "First Name" field (leave it empty)
- Leave the "Last Name" and "Email" fields completely untouched
- Click "Submit Form"
- Notice that only First Name shows an error, but Last Name and Email don't
Note: If you submit without blurring any fields, all fields are correctly validated and show errors.
Expected behavior
All fields should be validated on form submission, regardless of whether they have been touched or not. The onSubmit validation should validate the entire form schema, not just the "dirty" fields.
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform
- OS: macOS 15.5
- Browser: Chrome
- Version: 138.0.7204.184
TanStack Form adapter
react-form
TanStack Form version
v1.15.2
TypeScript version
v5.9.2
Additional context
No response
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par la reproduction StackBlitz liée en utilisant l’adaptateur react-form et suivez le comportement de validation de la soumission du formulaire avec la validation onBlur activée sur chaque champ. Confirmez que la soumission après que seul First Name a perdu le focus signale également des erreurs pour Last Name et Email, qui n’ont pas été touchés, tout en préservant le comportement selon lequel une soumission immédiate valide tous les champs.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- react, typescript
- Domaine
- frontend
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100