Подтверждение даты до сегодняшнего дня с VeeValidate - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь проверить поле даты рождения на Vue.js, чтобы разрешить только даты до сегодняшнего дня, но я не уверен, как реализовать Javascript для атрибутов до или date_between атрибуты

Я пытаюсь сделать что-то вроде

v-validate="'date_format:DD-MM-YYYY|before:changeDateFormat(new Date(Date.now()))'"

, где changeDateFormat () равно

changeDateFormat(dateStr) {
    if (dateStr != null) {
      var date = new Date(dateStr)
      var newDate = ("00"+(date.getDate())).slice(-2)+'-'+("00"+(date.getMonth()+1)).slice(-2)+'-'+date.getFullYear()
      return newDate
    }
    return ''

Я новичок вVue.js, поэтому я прошу прощения, если это простой вопрос.

1 Ответ

0 голосов
/ 04 апреля 2019

Попробуйте использовать правила выражения как объект.

Синтаксис VeeValidate: https://baianat.github.io/vee-validate/guide/syntax.html

Например:

data: {
    validators: {
        BirthDate: {
            required: true,
            date_format: 'dd-MM-yyyy',
            before: this.changeDateFormat(new Date(Date.now()))
        }
    }
},
methods: {
   changeDateFormat(dateStr) {
      if (dateStr != null) {
        var date = new Date(dateStr)
        var newDate = ("00" + (date.getDate())).slice(-2) + '-' + ("00" + (date.getMonth() + 1)).slice(-2) + '-' +date.getFullYear()
        return newDate
      }
    return ''
   }
},

И ваша директива:

v-validate="validators.BirthDate"
...