From 05d957ecea3d8b558d8916ad88926b63bb84ba07 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Wed, 24 May 2023 04:11:34 +0300 Subject: [PATCH] feat: mark form values as readonly closes #4282 --- .changeset/small-ladybugs-relate.md | 5 +++++ packages/vee-validate/src/types/forms.ts | 4 +++- packages/vee-validate/src/useForm.ts | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 .changeset/small-ladybugs-relate.md diff --git a/.changeset/small-ladybugs-relate.md b/.changeset/small-ladybugs-relate.md new file mode 100644 index 000000000..b03740950 --- /dev/null +++ b/.changeset/small-ladybugs-relate.md @@ -0,0 +1,5 @@ +--- +'vee-validate': minor +--- + +feat: mark form values as readonly closes #4282 diff --git a/packages/vee-validate/src/types/forms.ts b/packages/vee-validate/src/types/forms.ts index 3b4308981..c4df16a8a 100644 --- a/packages/vee-validate/src/types/forms.ts +++ b/packages/vee-validate/src/types/forms.ts @@ -1,4 +1,4 @@ -import { ComputedRef, Ref } from 'vue'; +import { ComputedRef, DeepReadonly, Ref } from 'vue'; import { MapValuesPathsToRefs, MaybeRef, GenericObject, MaybeRefOrLazy } from './common'; import { FieldValidationMetaInfo } from '../../../shared'; import { Path, PathValue } from './paths'; @@ -320,7 +320,9 @@ export interface FormContext { + values: DeepReadonly; handleReset: () => void; submitForm: (e?: unknown) => Promise; defineComponentBinds< diff --git a/packages/vee-validate/src/useForm.ts b/packages/vee-validate/src/useForm.ts index affc82133..764cf530a 100644 --- a/packages/vee-validate/src/useForm.ts +++ b/packages/vee-validate/src/useForm.ts @@ -12,6 +12,7 @@ import { warn, watchEffect, shallowRef, + readonly, } from 'vue'; import { klona as deepCopy } from 'klona/full'; import { @@ -965,6 +966,7 @@ export function useForm< return { ...formCtx, + values: readonly(formValues), handleReset: () => resetForm(), submitForm, defineComponentBinds,