https://baianat.github.io/vee-validate/guide/flags.html#introduction
根据文档,在其中一个字段的值上使用标志时,我应该能够获得布尔值。 例如。
command prompt
我正在尝试禁用表单的“提交”按钮,直到所有字段均有效。我的表格有点长,所以我会尽量简短。输入的所有属性的结构如下:type =“ text”,@ change =“ updateForm”,name =“ surname”,v-validate =“'required'”,v-model =“ form.surname” ,id =“姓”。所有输入都由
答案 0 :(得分:1)
我遇到了这个问题,这是因为呈现组件时this.$validator.fields
是空的。如果您使用:
isFormDirty() {
if (this.fields) {
return Object.keys(this.fields).some(key => this.fields[key].dirty);
}
return;
}
它将正常工作!
答案 1 :(得分:0)
我做了一些进一步的研究,并尝试处理返回的对象,并发现只能在.flags
之后$validator.fields
之后访问这些标志。
当我这样做时,我最终得到了一个包含所有字段的布尔值的数组
console.log((this.$validator.fields).map(field => field.flags.invalid))
。
我的isFormValid()最终看起来像:
get isFormValid(): boolean {
const a = function(e) {
return e === true;
}
return (this.$validator.fields).map(field => field.flags.invalid).some(a)
}