Formes de Vue indolore
# Install with yarn
yarn add vee-validate
# Install with npm
npm install vee-validate --save
La version V4 principale prend en charge Vue 3.x uniquement, pour les versions précédentes de Vue, vérifiez le tableau suivant
Version Vue | Vee-valider la version | Lien de documentation |
---|---|---|
2.x | 2.x ou 3.x | v2 ou v3 |
3.x | 4.x | v4 |
Vee-Validate propose deux styles pour intégrer la validation du formulaire dans vos applications Vue.js.
Le moyen le plus rapide de créer une forme et de gérer sa validation, son comportement et ses valeurs est avec l'API de composition.
Créez votre formulaire avec useForm
, puis utilisez defineField
pour créer votre modèle de champ et vos accessoires / attributs et handleSubmit
pour utiliser les valeurs et les envoyer à une 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 >
Vous pouvez faire bien plus que cela, pour plus d'informations, consultez la documentation de l'API de composition.
Des composants d'ordre supérieur peuvent également être utilisés pour construire des formulaires. Enregistrez les composants Field
et Form
et créez un validateur required
simple:
< 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 >
Le composant Field
rend une input
de text
de type par défaut, mais vous pouvez contrôler cela
Lisez la documentation et les démos.
Vous êtes invités à contribuer à ce projet, mais avant de le faire, assurez-vous de lire le guide de contribution.
Ici, nous honorons les contributeurs et sponsors antérieurs qui ont été un élément majeur de ce projet.
Sorti sous MIT par @logaretm.