Skip to content

Commit 273cca7

Browse files
committed
fix: reset field should not validate closes #4323
1 parent fc41691 commit 273cca7

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

.changeset/soft-chicken-explain.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'vee-validate': patch
3+
---
4+
5+
fix: reset field should not validate closes #4323

packages/vee-validate/src/useFieldState.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ export function _useFieldValue<TValue = unknown>(
166166
return getFromPath<TValue>(form.values, unref(path)) as TValue;
167167
},
168168
set(newVal) {
169-
form.setFieldValue(unref(path), newVal);
169+
form.setFieldValue(unref(path), newVal, false);
170170
},
171171
}) as Ref<TValue>;
172172

packages/vee-validate/tests/useField.spec.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -917,4 +917,25 @@ describe('useField()', () => {
917917
expect(field.errors.value).toHaveLength(2);
918918
expect(field.errors.value).toEqual([REQUIRED_MESSAGE, 'second']);
919919
});
920+
921+
// #4323
922+
test('resetField should not validate', async () => {
923+
let field!: FieldContext;
924+
const validator = vi.fn(val => (val ? true : REQUIRED_MESSAGE));
925+
926+
mountWithHoc({
927+
setup() {
928+
useForm();
929+
field = useField('field', validator);
930+
931+
return {};
932+
},
933+
});
934+
935+
await flushPromises();
936+
expect(field.errors.value).toHaveLength(0);
937+
field.resetField({ value: '' });
938+
await flushPromises();
939+
expect(field.errors.value).toHaveLength(0);
940+
});
920941
});

0 commit comments

Comments
 (0)