Я пытаюсь проверить данные между годами и годами, используя обозначение объекта, как показано ниже:
<div class = "form-group">
<label for = "construction-year">Construction Year</label>
<input v-validate = "validations.building.construction_year" data-vv-as = "Construction Year" v-model = "construction_year" type = "text" id = "construction-year" class = "form-control" name = "construction_year" placeholder = "Year" maxlength = "4">
<div v-show = "errors.has('construction_year')" id = "construction-year-error" class = "msg-error text-danger">{{ errors.first('construction_year') }}</div>
</div>
<script>
data() {
return {
validations: {
building: {
construction_year: {
required: true,
date_format: 'YYYY',
date_between:`1500,${new Date().getFullYear()}`
},
floors_above_ground: {
required: true,
between: '1,11',
},
}
},
}
},
</script>
Однако я получаю следующее сообщение:
The Construction Year must be between 1500,2018 and undefined.
Как правильно это сделать? В документации не показана нотация объекта, поэтому я попытался передать строку, но это тоже не сработало. Та же проблема возникает, когда я использую проверку «между», как показано выше.
Спасибо за помощь заранее.
Когда я пытался создать настраиваемую проверку как обходной путь к этой ошибке, я понял, что параметр args, который получает настраиваемый валидатор, является массивом.
Итак, я попытался использовать массив для проверок между и data_between в нотации объекта, и он работал следующим образом.
validations: {
building: {
construction_year: {
required: true,
date_format: 'YYYY',
date_between: ['1500', `${new Date().getFullYear()}`],
},
floors_above_ground: {
required: true,
between: [1, 11],
},
}
},
Было бы хорошо добавить эту информацию в Документацию.