All skills
skilld-dev avatar

/vee-validate-skilld

@b9c39cb

Use when writing, reviewing, or debugging Vue.js forms that import vee-validate (useForm, defineField, useField, useFieldArray, Form, Field, FieldArray, ErrorMessage). Provides correct v4.15.x Composition API and component usage, validation schema patterns, typed-schema integration, version-specific API changes since 4.9, deprecations, and known pitfalls.

Use this Skill: https://skilld.dev/gh/skilld-dev/vue-ecosystem-skills/vee-validate-skilld

This session only. Nothing lands on disk.

SKILL.md

≈95 tokens always: the name and description. ≈1.5k when used: this file. ≈5.9k more on demand in 6 files.

vee-validate 4.15.1

Form validation for Vue 3. Facts below come from the prepared source (dist/vee-validate.d.ts, dist/vee-validate.mjs, package.json) and official docs at https://vee-validate.logaretm.com/v4/.

Environment

  • Package vee-validate@4.15.1 (package.json:3). Requires vue ^3.4.26 as peer (package.json:42).
  • ESM + CJS, sideEffects: false, single entry vee-validate (package.json:11-26).
  • v4 supports Vue 3 only. Vue 2 needs vee-validate 2.x/3.x (README:69-72).
  • Schema adapters live in separate packages: @vee-validate/yup, @vee-validate/zod, @vee-validate/valibot; global rules in @vee-validate/rules; messages in @vee-validate/i18n.

Two API styles

Composition API (preferred for new code). useForm + defineField + handleSubmit:

<script setup>
import { useForm } from 'vee-validate';

function required(value) {
  return value ? true : 'This field is required';
}

const { defineField, handleSubmit, errors } = useForm({
  validationSchema: { field: required },
});

const [field, fieldProps] = defineField('field');

const onSubmit = handleSubmit(values => {
  console.log(values);
});
</script>

<template>
  <form @submit="onSubmit">
    <input v-model="field" v-bind="fieldProps" />
    <span>{{ errors.field }}</span>
    <button>Submit</button>
  </form>
</template>

Source: README:84-118, https://vee-validate.logaretm.com/v4/guide/composition-api/getting-started/

Declarative components. Form + Field with scoped slots:

<script setup>
import { Field, Form } from 'vee-validate';

function required(value) {
  return value ? true : 'This field is required';
}

function onSubmit(values) {
  console.log(values);
}
</script>

<template>
  <Form v-slot="{ errors }" @submit="onSubmit">
    <Field name="field" :rules="required" />
    <span>{{ errors.field }}</span>
    <button>Submit</button>
  </Form>
</template>

Source: README:122-153, https://vee-validate.logaretm.com/v4/guide/components/handling-forms/

Core rules

Validation modes

Global defaults: validateOnBlur: true, validateOnChange: true, validateOnInput: false, validateOnModelUpdate: true, bails: true. Change globally with configure(); note these four trigger flags only apply to the <Field> component, not useField (https://vee-validate.logaretm.com/v4/api/configuration/). To validate only on submit, disable input/change/blur triggers per field in defineField config or globally (https://github.com/logaretm/vee-validate/discussions/4903).

References

  • Composition API: useForm, defineField, useField, useFieldArray, state and setter composables, form context.
  • Components: Form, Field, FieldArray, ErrorMessage props, slots, rendering, v-model rules.
  • Validation: validator functions, object schemas, typed schemas, global rules, i18n, standalone validate utils.
  • API surface: every runtime export and notable type, cited to dist/vee-validate.d.ts.
  • Version changes: API additions, breaking changes, and deprecations from 4.9.0 to 4.15.1.
  • Pitfalls: composition caveats, nested path rules, array fields, known open issues.

Source: SKILL.md on GitHub

No alerts8d3 checks · Risk SAFE
  • Gen Agent Trust Hub8d

    The vee-validate-skilld skill is a comprehensive documentation and reference suite for the vee-validate Vue.js form library. It contains API details, best practices, tutorials, and community discussions. No security risks or malicious behaviors were detected during analysis.

  • Socket8d

    No alerts

  • Snyk8d

    Risk: LOW · No issues

Signed by skilld at b9c39cb. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub last week.

Activeupdated last week

README badge

README badge for skilld-dev/vue-ecosystem-skills/vee-validate-skilld