Подтверждение даты до сегодняшнего дня с VeeValidate
Я пытаюсь проверить поле даты рождения на Vue.js, чтобы разрешить только даты до сегодняшнего дня, но я не уверен, как реализовать Javascript для атрибутов before или 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, поэтому я прошу прощения, если это простой вопрос.
0 ответов
Попробуйте использовать выражение правил вроде объекта.
Синтаксис 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"