title: Form handling and validation with vuex best practice
body: <p>I have a big form (10+ inputs) which values I want to bind (like v-model) with object I have in vuex store, on submission it needs to send axios request to server (server will handle validation) and respond with error object (this field is required, this value is too short, etc...).</p>
  
  <p>I will provide minimalistic example with just one input field.
  Object student is for student itself obviously, and error object will be there to handle errors from server response.</p>
  
  <p>App.vue</p>
  
  <pre><code>&lt;template&gt;
   &lt;div&gt;
  
    &lt;input v-model="student.name"&gt;
    &lt;span&gt;{{error.name}}&lt;/span&gt;
  
   &lt;/div&gt;
  &lt;/template&gt;
  
  &lt;script&gt;
  import { mapActions } from "vuex";
  
   export default {
    name: "App",
    computed: {
     student.name: {
      get () {
        return this.$store.state.student.name
      },
      set (value) {
        this.$store.commit('setStudentName', value)
      }
     },
     error.name: {
      get () {
        return this.$store.state.error.name
      },
      set (value) {
        this.$store.commit('setErrorName', value)
      }
     }
  
    }
   }
  &lt;/script&gt;
  </code></pre>
  
  <p>and this is mu vuex store:</p>
  
  <pre><code>export default {
   state: {
    student: { name: ''},
    error: { name: ''}
   },
   mutations: {
    setStudentName: (state, student.name) =&gt; (state.student.name = student.name),
    setErrorName: (state, error.name) =&gt; (state.error.name = error.name)
   }
  
  }
  </code></pre>
  
  <p>So this works perfectly, but imagine having 10+ inputs and having to write setters and getters for 10 inputs x 2 objects (student and error), that is like 40 setters&amp;getters at least.</p>
  
  <p>Is there a easier way to do this?</p>
  
  <p>I have also tried <strong>vuex-forms</strong>  which is great, but package is incomplete and documentation is missing, tried <strong>vuex-map-fields</strong>, which is good only for handling one object at the time.</p>
  
  <p>All suggestions are welcome, what it the correct way to do this?</p>