<div id="app">
<v-form @submit="onSubmit">
<v-field name="name" type="text" placeholder="Who are you" :rules="isRequired"></v-field>
<error-message name="name"></error-message>
<button>Submit</button>
</v-form>
</div>
span {
display: block;
margin: 10px 0;
}
button, input {
display: block;
}
const App = {
components: {
// Components were renamed to avoid conflicts of HTML form element without a vue compiler
VForm: VeeValidate.Form,
VField: VeeValidate.Field,
ErrorMessage: VeeValidate.ErrorMessage,
},
methods: {
isRequired(value) {
if (!value) {
return 'this field is required';
}
return true;
},
onSubmit(values) {
alert(JSON.stringify(values, null ,2));
}
}
}
Vue.createApp(App).mount('#app')
This Pen doesn't use any external CSS resources.