diff --git a/src/__tests__/useForm.test.tsx b/src/__tests__/useForm.test.tsx index 71388e732a3..6760189f02e 100644 --- a/src/__tests__/useForm.test.tsx +++ b/src/__tests__/useForm.test.tsx @@ -751,10 +751,12 @@ describe('useForm', () => { fireEvent.change(screen.getByRole('textbox'), { target: { - value: ' ', + value: 'test', }, }); + await waitFor(() => screen.getByText('valid')); + fireEvent.change(screen.getByRole('textbox'), { target: { value: '', diff --git a/src/logic/createFormControl.ts b/src/logic/createFormControl.ts index f5c244da5fa..1335c706e1b 100644 --- a/src/logic/createFormControl.ts +++ b/src/logic/createFormControl.ts @@ -752,17 +752,11 @@ export function createFormControl< } } - if (!isPrimitive(fieldValue) || getCurrentFieldValue() === fieldValue) { - field._f.deps && - trigger( - field._f.deps as - | FieldPath - | FieldPath[], - ); - shouldRenderByError(name, isValid, error, fieldState); - } else { - _updateIsValidating(false); - } + field._f.deps && + trigger( + field._f.deps as FieldPath | FieldPath[], + ); + shouldRenderByError(name, isValid, error, fieldState); } };