Chapter 1, Setting up the Demo Project, will guide you through setting up the base of the project that we will be building on throughout the book. It is recommended that you work through the book in the order of the chapters, as they build on the concepts learned in the previous ones. However, the completed code for each chapter will be provided at the beginning of each in case you want to skip forward.
Chapter 2, A Form in its Simplest Form, shows the basics of building a basic web form, and the process of connecting the inputs to your app's state. You will also learn about the basics of submitting the form, and using the Axios library to make asynchronous calls to the backend.
Chapter 3, Creating Reusable Form Components, will teach you how to break down a form into components that can be reused throughout your application. You will understand how the v-model directive works and how the main application and form can leverage these components.
Chapter 4, Input Masks with v-mask, touches upon using the v-mask library to allow for input masking to improve user experience. You will learn how to implement third-party plugins and how to incorporate them into your custom components.
Chapter 5, Input Validation with Vuelidate, walks you through the process of adding Vuelidate—a powerful form validation library—to your project, creating validation rules and applying them to your form, as well as how to incorporate it into your custom components.
Chapter 6, Moving to a Global State with Vuex, takes things a step further by transferring the current application's local state to a global state by leveraging the power of Vuex—the official global state management library and pattern. We will incorporate Vuelidate and our custom components into the mix.
Chapter 7, Creating Schema-Driven Forms, brings all the previous concepts together and walks you through the process of understanding and creating a renderer component that allows your application to be fully schema-driven. It will react to API changes provided by a mock API, as well as provide an explanation of how to generate a fully constructed form complete with data submission to the mock backend.