https://baianat.github.io/vee-validate/guide/flags.html#introduction
Согласно документации, я должен иметь возможность получить логическое значение при использовании флага для значения одного из полей.Например.
computed: {
isFormDirty() {
return Object.keys(this.fields).some(key => this.fields[key].dirty);
}
},
Я пытаюсь отключить кнопку отправки моей формы, пока все поля не будут действительными.Моя форма немного длинная, поэтому я буду держать ее короткой.Все атрибуты входов структурированы следующим образом: type = "text", @ change = "updateForm", name = "фамилия", v-validate = "'required'", v-model = "form.surname", id = "фамилия".Все входные данные заключены в тег .
Метод updateForm выглядит следующим образом:
updateForm(event): void {
this.$store.commit('updateForm', this.form)
}
, где мутация updateForm выглядит следующим образом:
updateForm(state, data) {
state.form = data;
},
Кнопка отправки выглядит следующим образом:
<button type="submit" :disabled="isFormValid">Submit</button>
, где isFormValid - это вычисляемое свойство, которое выглядит следующим образом:
get isFormValid(): boolean {
return Object.keys(this.form).some(key => this.form[key].invalid);
}
Данные формытакже является вычисляемым свойством:
get form(): FormData {
return this.$store.getters.getForm();
}
Проблема в том, что когда я console.log(Object.keys(this.form).map(key => this.form[key])
или console.log(this.$validator.fields.items.map(item => item.value)
внутри isFormValid (), я получаю значения полей.Однако, когда я прикрепляю неверный флаг после них, он показывает неопределенный вместо логического значения, которое я ожидаю.Почему это?