【发布时间】:2020-10-13 07:15:41
【问题描述】:
我使用 validate 进行 vue js 表单验证。(https://vuelidate.js.org/#getting-started)
很适合我的所有场景。
但它不适用于表单上传文件验证。
因为文件类型输入无法设置 v-model 属性,我在 v-model 属性添加时间出现以下错误。
“v-model”指令不支持“文件”输入类型。
所以这个值没有改变。下面是我的代码示例。
<input type="file" id="input-file-now" class="dropify" multiple accept="image/*"
@change="model.file = eDatas.target.files" v-bind:class="{'is-invalid': $v.model.file.$error}">
<div v-if="$v.model.file.$error" class="invalid-feedback">
Select Image
</div>
data () {
return {
model: {}
}
},
validations: {
model: {
title: { required },
file: {
required: requiredIf(function (nestedModel) {
return !this.model.file || this.model.file.length == 0;
})
}
}
},
我尝试requiredIf,但这也不起作用。如果你知道这个解决方案。请与我分享。
【问题讨论】:
-
我现在不在电脑附近来测试这个解决方案,但我认为你可以这样做:
<input v-model="model.files" .../>然后 VueValidate 会发现 v-model 不为空并正确验证它跨度> -
@JaiKumaresh 你知道你不能奖励你自己的答案吗?