title: Errors with vee-validate custome rule
body: <p>In  @vue/cli 4.1.1 app I use v-money and vee-validate and I see that required rule does not work for
  v-money , as it always has “0” value. So I make custom validation as it is written here
  <a href="http://vee-validate.logaretm.com/v2/guide/custom-rules.html#using-the-custom-rule" rel="nofollow noreferrer">http://vee-validate.logaretm.com/v2/guide/custom-rules.html#using-the-custom-rule</a></p>
  
  <p>Inserting this exam[ple in test page I got warnings in console :</p>
  
  <pre><code> WARNING  Compiled with 2 warnings                                                                                                                                                                           7:45:56 AM
  
   warning  in ./src/views/Test.vue?vue&amp;type=script&amp;lang=js&amp;
  
  "export 'Validator' was not found in 'vee-validate'
  
   warning  in ./src/views/Test.vue?vue&amp;type=script&amp;lang=js&amp;
  
  "export 'Validator' was not found in 'vee-validate'
  
  
    App running at:
    - Local:   http://localhost:8080/ 
    - Network: unavailable
  </code></pre>
  
  <p>and in browser I see error :</p>
  
  <pre><code>vue-router.esm.js?8c4f:2113 TypeError: Cannot read property 'extend' of undefined
      at eval (Test.vue?f246:87)
      at Module../node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/Test.vue?vue&amp;type=script&amp;lang=js&amp; (4.js:11)
      at __webpack_require__ (app.js:790)
      at fn (app.js:151)
  </code></pre>
  
  <p>My test component :</p>
  
  <pre><code>&lt;template&gt;
      &lt;div class="frontend_item_container"&gt;
          &lt;ValidationObserver
                  ref="pageObserverForm"
                  v-slot="{handleSubmit}"
          &gt;
              &lt;b-form @submit.prevent="handleSubmit(onSubmit)"&gt;
  
                  &lt;b-card-header&gt;
                      &lt;h3 class="row_content_left_aligned p-2" v-show="is_page_loaded"&gt;
                          &lt;i :class="'info_link '+getHeaderIcon('page')"&gt;&lt;/i&gt;{{ getHeaderTitle }}
                      &lt;/h3&gt;
                      &lt;div v-show="!is_page_loaded"&gt;
                          &lt;h3&gt;
                              &lt;b-spinner variant="success" label="Page loading"&gt;&lt;/b-spinner&gt;&amp;nbsp;Page loading...
                          &lt;/h3&gt;
                      &lt;/div&gt;
  
                  &lt;/b-card-header&gt;
  
                  &lt;b-card-body v-show="is_page_loaded"&gt;
  
                      &lt;b-row class="editor_row"&gt;
                          &lt;b-col md="4"&gt;
                              &lt;label for="editable_ad_price" class="pt-2 "&gt;
                                  Price&lt;span class="required"&gt; * &lt;/span&gt;:
                              &lt;/label&gt;
                          &lt;/b-col&gt;
                          &lt;b-col md="8"&gt;
                              price::{{ price}}
                              &lt;ValidationProvider
                                      name="editable_ad_price"
                                      rules="required|truthy"
                                      v-slot="{ errors }"
                              &gt;
                                  &lt;money
                                          v-model="price"
                                          v-bind="moneyConfig"
                                          name="editable_ad_price"
                                          id="editable_ad_price"
                                          class="form-control text-right"
                                          placeholder="Enter price"
                                  &gt;
                                  &lt;/money&gt;
                                  &lt;p class="validation_error"&gt;{{ clearErrorMessage(errors[0]) }}&lt;/p&gt;
                              &lt;/ValidationProvider&gt;
                          &lt;/b-col&gt;
                      &lt;/b-row&gt;
  
                  &lt;/b-card-body&gt;
  
                  &lt;b-card-footer class="buttons_container" v-show="is_page_loaded"&gt;
                      &lt;b-button size="md" @click.prevent="$router.push('/admin/pages')" class="m-3"&gt;
                          &lt;i :class="'a_link '+getHeaderIcon('cancel')"&gt;&lt;/i&gt;Cancel
                      &lt;/b-button&gt;
                      &lt;b-button type="submit" size="md" variant="success" class="m-3"&gt;
                          &lt;i :class="'action_link '+getHeaderIcon('save')"&gt;&lt;/i&gt;{{ submit_label }}
                      &lt;/b-button&gt;
                  &lt;/b-card-footer&gt;
  
              &lt;/b-form&gt;
          &lt;/ValidationObserver&gt;
      &lt;/div&gt;
  &lt;/template&gt;
  
  &lt;script&gt;
      import appMixin from '@/appMixin';
      import Vue from 'vue'
  
      import money from 'v-money'
      Vue.use(money, {precision: 4})
  
      import {settingsLocalizeMessages} from '@/app.settings.js'
  
      import {ValidationObserver, ValidationProvider, extend} from 'vee-validate'
  
      import * as rules from 'vee-validate/dist/rules';
  
      Object.keys(rules).forEach(rule =&gt; {
          extend(rule, rules[rule]);
      });
  
  
      import { Validator } from 'vee-validate';
  
      Validator.extend('truthy', {
          getMessage: field =&gt; 'The ' + field + ' value is not truthy.',
          validate: value =&gt; !! value
      });
  
      let instance = new Validator({ trueField: 'truthy' });
  
      instance.extend('falsy', (value) =&gt; ! value);
  
      instance.attach({
          name: 'falseField',
          rules: 'falsy'
      });
  
  
      import {localize} from 'vee-validate';
      localize({
          en: settingsLocalizeMessages['en']
      });
  
      export default {
          data() {
  
              return {
                  apiUrl: process.env.VUE_APP_API_URL,
                  price: 12,
                  moneyConfig: {
                      decimal: ',',
                      thousands: '.',
                      prefix: '$',
                      suffix: '',
                      precision: 2,
                      masked: false
                  },
                  is_page_loaded: false,
  
              }
          }, // data() {
  
          name: 'testPage',
          mixins: [appMixin],
  
          components: {
              ValidationObserver, ValidationProvider
          },
  
          mounted() {
          }, //  mounted() {
  
          created() {
          }, //  created() {
  
          beforeDestroy() {
          },
  
          methods: {
          },  // methods: {
  
          computed: {
              getHeaderTitle: function () {
                  return 'Test'
              },
          }, //computed: {
  
  
      }
  &lt;/script&gt;
  </code></pre>
  
  <p>Why error and how to fix it ?</p>
  
  <pre><code>"bootstrap-vue": "^2.3.0",
  "v-money": "^0.8.1",
  "vee-validate": "^3.2.1",
  "vue": "^2.6.11",
  </code></pre>
  
  <p>Thanks!</p>