Безболезненные формы VUE
# Install with yarn
yarn add vee-validate
# Install with npm
npm install vee-validate --save
Основная версия V4 поддерживает Vue 3.x только для предыдущих версий Vue, проверьте следующую таблицу.
Версия VUE | Vee-Validate версия | Ссылка на документацию |
---|---|---|
2.x | 2.x или 3.x | V2 или V3 |
3.x | 4.x | V4 |
VEE-Validate предлагает два стиля для интеграции валидации форм в приложения Vue.js.
Самый быстрый способ создать форму и управление его проверкой, поведением и значениями - это композиционный API.
Создайте свою форму с помощью useForm
, а затем используйте defineField
для создания модели поля и реквизита/атрибутов и handleSubmit
чтобы использовать значения и отправить их в 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 >
Вы можете сделать гораздо больше, чем это, для получения дополнительной информации проверьте документацию по API композиции.
Компоненты высшего порядка также могут быть использованы для создания форм. Зарегистрируйте компоненты Field
и Form
и создайте простой required
валидатор:
< 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 >
Компонент Field
отображает input
text
типа по умолчанию, но вы можете управлять этим
Прочитайте документацию и демонстрации.
Вы можете внести свой вклад в этот проект, но прежде чем вы это сделаете, убедитесь, что вы прочитали руководство по взносу.
Здесь мы чтим прошлых участников и спонсоров, которые были важной ролью в этом проекте.
Выпущено под MIT @logaretm.