Painless Vue forms
# Install with yarn yarn add vee-validate # Install with npm npm install vee-validate --save
The main v4 version supports Vue 3.x only, for previous versions of Vue, check the following the table
vue Version vee-validate version Documentation Link2.x
2.x
or 3.x
v2 or v3 3.x
4.x
or 5.x
v4 or v5
vee-validate offers two styles to integrate form validation into your Vue.js apps.
The fastest way to create a form and manage its validation, behavior, and values is with the composition API.
Create your form with useForm
and then use defineField
to create your field model and props/attributes and handleSubmit
to use the values and send them to an API.
<script setup> import { useForm } from 'vee-validate'; // Validation, or use `yup` or `zod` function required(value) { return value ? true : 'This field is required'; } // Create the form const { defineField, handleSubmit, errors } = useForm({ validationSchema: { field: required, }, }); // Define fields const [field, fieldProps] = defineField('field'); // Submit handler const onSubmit = handleSubmit(values => { // Submit to API console.log(values); }); </script> <template> <form @submit="onSubmit"> <input v-model="field" v-bind="fieldProps" /> <span>{{ errors.field }}</span> <button>Submit</button> </form> </template>
You can do so much more than this, for more info check the composition API documentation.
Higher-order components can also be used to build forms. Register the Field
and Form
components and create a simple required
validator:
<script setup> import { Field, Form } from 'vee-validate'; // Validation, or use `yup` or `zod` function required(value) { return value ? true : 'This field is required'; } // Submit handler function onSubmit(values) { // Submit to API 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>
The Field
component renders an input
of type text
by default but you can control that
Read the documentation and demos.
You are welcome to contribute to this project, but before you do, please make sure you read the contribution guide.
Here we honor past contributors and sponsors who have been a major part on this project.
Released under MIT by @logaretm.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4