Vue Laravel Validator
This plugin handle laravel validation response and simple creating form and posting data.
#install
npm i vue-laravel-validator --save
##Usage javascript file
import Vue from 'vue'; import VueResource from 'vue-resource'; import LaravelValidator from 'vue-laravel-validator'; Vue.use(VueResource); Vue.use(LaravelValidator); new Vue({ data(){ return { form: this.$form({ 'user': null, // or Vuex this.user.name eg. 'age': null, 'email': null }) } }, methods:{ sendform(){ this.form.post('http://yourlaravel.com/api/save').then((response) => { console.log('success') }, (response) => { console.log('error') }) } } });
template file
<form @submit.prevent="sendForm"> <div class="form-group" :class="{'has-danger': form.$errors.has('name')}"> <label for="name">Namelabel> <input type="text" class="form-control" id="name" placeholder="Name" v-model="form.$fields.name"> <div if="form.$errors.has('name')" class="form-control-feedback">{{form.$errors.get('name')}}div> div> <div class="form-group" :class="{'has-danger': form.$errors.has('age')}"> <label for="age">Agelabel> <input type="text" class="form-control" id="age" placeholder="age" v-model="form.$fields.age"> <div if="form.$errors.has('age')" class="form-control-feedback">{{form.$errors.get('age')}}div> div> <div class="form-group" :class="{'has-danger': form.$errors.has('email')}"> <label for="email">Emaillabel> <input type="email" class="form-control" id="email" placeholder="email" v-model="form.$fields.email"> <div if="form.$errors.has('email')" class="form-control-feedback">{{form.$errors.get('email')}}div> div> <button :disabled="form.$busy" type="submit" class="btn btn-primary">Savebutton> form>