ОК. Итак, у меня есть подтверждение, которое я вызываю для размытия из поля ввода. Я передаю идентификатор и ограничиваю его валидацию в этом методе. Я использую Bootstrap Vue для всплывающего окна, что проверки он также выдвинут.
Но мой вопрос заключается в том, почему проверка не работает при первом вызове. Для объяснения, скажем, вы не можете заказать более 5 для продукта, и вы вводите 10 в поле количества и мышь из коробки. Ничего не происходит, но если вы наведите курсор мыши на тот же блок и наведите курсор мыши, это показывает ошибку проверки
Поле ввода с поповером
Вот миксин / функция, которая вызывается при размытии. методы: {limitChecking (id, limit) {// Сбрасывает всплывающее сообщение и сообщение об ошибке this. $ root. $ emit ('bv :: hide :: popover') var inputValue = document.getElementById ("input -" + id) .value this.errorMessage = 'Введенное количество слишком велико: \ n' var validations = ""
validations = this.findAllValidation(limits, inputValue)
this.errorMessage = this.errorMessage + validations
if(validations.length === 0 && inputValue > 0){
document.getElementById("button-"+id).disabled = false;
}else if (inputValue <= 0){
document.getElementById("button-"+id).disabled = true;
}else{
this.fireValidationPopover(id)
}
},
findAllValidation(limits, inputValue){
var validations = ""
for (var key in limits) {
if (limits.hasOwnProperty(key)) {
if(inputValue > limits[key].value){
validations += limits[key].name + " " + limits[key].value + "\n"
}
}
}
return validations
},
fireValidationPopover(id){
document.getElementById("button-"+id).disabled = true;
this.$root.$emit('bv::show::popover', "popover-"+id);
}
} // End Methods