title: multiple vulidate plugin issue
body: <p>I'm working on a project let's call it that project for ABC.<br />
  That project uses Nuxt for the frontend and also uses <a href="https://github.com/vuelidate/vuelidate" rel="nofollow noreferrer"><code>vuelidate</code></a> and <a href="https://github.com/dobromir-hristov/vuelidate-error-extractor" rel="nofollow noreferrer"><code>vuelidate-error-extractor</code></a> for validations.<br />
  This project has a custom module that I created, it also has <code>vuelidate</code> and <code>vuelidate-error-extractor</code> as dependencies.</p>
  <p>In the nuxt project, there is a plugin (<code>vuelidate.js</code>) that I created. It has all the messages and attributes related to ABC project.</p>
  <p>Here is the <code>vulidate.js</code> file in my Nuxt project</p>
  <pre class="lang-js prettyprint-override"><code>import Vue from 'vue'
  import Vuelidate from 'vuelidate'
  import VuelidateErrorExtractor, { templates } from 'vuelidate-error-extractor'
  
  import BootstrapVue from 'bootstrap-vue'
  
  import 'bootstrap/dist/css/bootstrap.css'
  import 'bootstrap-vue/dist/bootstrap-vue.css'
  
  import FormGroup from '@/components/mm/common/base/FormGroup'
  import FormSummary from '@/components/mm/common/base/FormSummary'
  
  const messages = {
    required: '{attribute} is required.',
    requiredCustom: '{attribute} is required.',
    notColombo: '{attribute} must not be Colombo',
    email: '{attribute} should be a valid email.',
    maxLength: '{attribute} should be less than {max} characters.',
    onlynumbers: '{attribute} should be numbers.',
    internationalTpNumber: 'Maximum length of a phone number is 15 digits',
    fullNameErrorPassport: 'Full Name is required',
    noFutureDate: '{attribute} must not be set in the future.',
    minTransactionDate: '{attribute} must be set on or before 01-January-2008',
    startDate: 'Date of Birth',
    startDateValidate: 'Start date must be greater than registration date and cannot be future date.',
   
  }
  
  Vue.use(BootstrapVue)
  Vue.use(Vuelidate)
  Vue.use(VuelidateErrorExtractor, {
    messages,
    attributes: {
      districtId: 'District',
      address1: 'Address',
      postalCode: 'Postal Code',
      village: 'Village',
      district: 'District',
      proposedName: 'Proposed Name',
      selectedcountry: 'Country',
      name: 'Name',
      contactNumber: 'Contact Number',
      email: 'Email Address',
      identityNumber: 'Identification Document Number',
      dateOfChange: 'Date of Change',
      dob: 'Date of Birth',
      fullName: 'Full Name',
      occupationId: 'Occupation',
      nationalityId: 'Nationality',
      phoneNumber: 'Phone Number',
      countryCode: 'Country Code',
      gender: 'Gender',
      retirementDate: 'Retirement Date',
      startDate: 'Date of Birth'
    }
  })
  
  Vue.component('FormGroup', FormGroup)
  Vue.component('FormSummary', FormSummary)
  Vue.component('formWrapper', templates.FormWrapper)
  </code></pre>
  <p>The module also has a custom plugin named <code>vuelidate.js</code> which is looking like the one in the Nuxt project.</p>
  <p>The only change is that the module has a different set of attributes and messages in the <code>vulidate.js</code> file.<br />
  The problem is that the module overrides Nuxt's <code>vuelidate</code> file meaning that the form in the Nuxt project shows some error messages getting from the module rather than from the Nuxt project.</p>
  <p>Can we set the scope of a plugin?<br />
  Can we stop Nuxt project from using the error messages coming from the module and rather use the ones from the Nuxt project?</p>
  <p>This is my <code>vuelidate.js</code> file in module</p>
  <pre class="lang-js prettyprint-override"><code>import Vue from 'vue'
  import Vuelidate from 'vuelidate'
  import VuelidateErrorExtractor, { templates } from 'vuelidate-error-extractor'
  
  import BootstrapVue from 'bootstrap-vue'
  
  import 'bootstrap/dist/css/bootstrap.css'
  import 'bootstrap-vue/dist/bootstrap-vue.css'
  
  import FormGroup from '@/components/mm/common/base/FormGroup'
  import FormSummary from '@/components/mm/common/base/FormSummary'
  
  const messages = {
    required: '{attribute} is required.',
    requiredCustom: '{attribute} is required.',
    notColombo: '{attribute} must not be Colombo',
    email: '{attribute} should be a valid email.',
    maxLength: '{attribute} should be less than {max} characters.',
    onlynumbers: '{attribute} should be numbers.',
    internationalTpNumber: 'Maximum length of a phone number is 15 digits',
    fullNameErrorPassport: 'Full Name is required',
    noFutureDate: '{attribute} must not be set in the future.',
    minTransactionDate: '{attribute} must be set on or before 01-January-2008',
    startDate: 'Date of Birth',
    startDateValidate: 'Start date must be greater than registration date and cannot be future date.',
  
  }
  
  Vue.use(BootstrapVue)
  Vue.use(Vuelidate)
  Vue.use(VuelidateErrorExtractor, {
    messages,
    attributes: {
      dob: 'Date of Birth',
      fullName: 'Full Name',
      occupationId: 'Occupation',
      nationalityId: 'Nationality',
      phoneNumber: 'Phone Number',
       age:&quot;Age&quot;
      countryCode: 'Country Code',
      gender: 'Gender',
      retirementDate: 'Retirement Date',
      startDate: 'Date of Birth'
    }
  })
  
  Vue.component('FormGroup', FormGroup)
  Vue.component('FormSummary', FormSummary)
  Vue.component('formWrapper', templates.FormWrapper)
  </code></pre>