title: What is the cause of [Vue warn]: Invalid prop: custom validator check failed for prop "value"
body: <p>I have nuxt.js app, which uses <a href="https://github.com/charliekassel/vuejs-datepicker" rel="noreferrer">vuejs-datepicker</a>:</p>
  
  <pre><code>&lt;template&gt;
  &lt;!-- ... --&gt;
  
      &lt;DatePicker :value="datePicker.value" /&gt;
   &lt;!-- ... --&gt;
   &lt;/template&gt;
  </code></pre>
  
  <p>and bunch of date variables:</p>
  
  <pre><code>&lt;script&gt;
  import DatePicker from 'vuejs-datepicker'
  import { DateTime } from 'luxon'
  
  const moment = require('moment')
  
  const date = new Date(2016, 8, 16)
  const date2 = moment('2016-09-16').toDate()
  const date3 = DateTime.local(2016, 9, 16).toJSDate()
  
  export default {
    components: {
      DatePicker
    },
    data() {
      return {
        datePicker: {
          mondayFirst: true,
          format: 'dd.MM.yyyy',
          value: date
        }
      }
    }
  }
  </code></pre>
  
  <p>When I bind its 'value' property to usual Date variable 'date', everything is ok, but when I choose date2 or date3, I get this annoying warning</p>
  
  <pre><code>[Vue warn]: Invalid prop: custom validator check failed for prop "value".
  
  found in
  
  ---&gt; &lt;DatePicker&gt;
         &lt;StaticPositionsTab&gt; at components/StaticPositions.vue
           &lt;BTab&gt;
             &lt;BTabs&gt;
               &lt;Pages/index.vue&gt; at pages/index.vue
                 &lt;Nuxt&gt;
                   &lt;Layouts/default.vue&gt; at layouts/default.vue
                     &lt;Root&gt;
  </code></pre>
  
  <p>I found custom validator for value property and it is very straightforward and simple and return true in all three cases:</p>
  
  <pre><code>value: {
        validator: function (val) { return utils$1.validateDateInput(val); }
      }
  </code></pre>
  
  <p>...</p>
  
  <pre><code>validateDateInput (val) {
      return val === null || val instanceof Date || typeof val === 'string' || typeof val === 'number'
    }
  </code></pre>
  
  <p>but what makes the difference then? Could it be Vue.js bug itself?</p>