Releases: logaretm/vee-validate
v4.13.0
🆕 Features
- Inject form values to
yup
schema contexts when using field-level rules #4753 (27fe5c8) - Expose
setValue
on Field instance and slot props #4755 (ae3772a) - Added
ResetFormOpts
arg touseResetForm
#4707 (fd008c1) - Apply Yup/Zod transformations on field-level rules #4713 (#4754) thanks to @mehcode
- Allow custom interpolation options for i18n #4726 (#4727) thanks to @zleight1
🐛 Bug Fixes
v4.12.7
🐛 Bug Fixes
- Handle
TypedSchema.describe
API crashing with future releases, now it just reportsfalse
formeta.required
(1376794) - Handle
meta.required
for single field schema react to changes #4738 (1376794) - Ensure
meta.required
reacts to reactive form schema changes #4738 (c4415f8)
🌍 i18n
- added missing integer translation (#4674) thanks to @Bandeirex
v4.12.6
v4.12.5
v4.12.4
v4.12.3
v4.12.2
v4.12.1
v4.12.0
💣 Breaking Changes
Deprecated reactive initial values #4402 (bbecc97)
Initial values can no longer be reactive since they did not serve any purpose for being so. The recommended API for setting async initial values is by explicitly calling resetForm
.
🆕 defineField
API #4497
This is a new function available on useForm
and is meant to replace useFieldModel
, defineInputBinds
and defineComponentBinds
by building upon and improving those APIs.
<script setup>
import { useForm } from 'vee-validate';
const { defineField, errors } = useForm({
validationSchema: schema,
validateOnMount: true,
});
const [email, emalProps] = defineField('email', { validateOnModelUpdate: true });
const [password, pwProps] = defineField('password', { validateOnModelUpdate: true });
</script>
<template>
<input v-model="email" v-bind="emailProps" />
<span>{{ errors.email }}</span>
<input v-model="password" v-bind="pwProps" />
<span>{{ errors.password }}</span>
</div>
</template>
The docs have been updated to reflect using this new API instead of the deprecated ones. The old ones will continue to work till they get removed in next minor releases.
🆕 meta.required
Added support for meta.required
state for Typed Schemas only.
That means if you are using toTypedSchema
helper with either Yup, Zod, Valibot, or Global rules then it should be automatically done for you. This is a new experimental feature and may not work well with conditional schemas or dynamic ones.
For more info check the live demo link here.
🆕 DX improvements
- feat: add label support to defineField #4530 (f9a9584)
- feat(DX): allow getters for field arrays paths (95b701f)