我正在尝试用vue-upload-component验证vee-validate。
所以我有一个vue-upload-component
:
<file-upload
:name="element.inputName"
:size="maxFilesize"
:extensions="extensions"
:maximum="maxFiles"
:data-vv-name="element.inputName"
:data-vv-scope="element.validationScope"
:custom-action="customUploadAction"
data-vv-validate-on="input-file"
@input-file="inputFile"
v-model="files"
v-validate="{ required: true } ">
Upload file
</file-upload>
..似乎确实成功附加到父组件上,我可以看到fields
包是:
{
"$6": {
"form-124": {
"untouched": true,
"touched": false,
"dirty": false,
"pristine": true,
"valid": false,
"invalid": true,
"validated": false,
"pending": false,
"required": true,
"changed": false
}
}
}
...,它也满足requirements for custom component validation,即具有name
,value
吸气剂(v模型)并发出input
事件,但验证仍然没有基本上不能运行父组件:
clientValidation(validationScopes) {
return Promise
.all(validationScopes.map(scope => this.$validator.validate(`${scope}.*`)))
.then(results => results.every(r => r));
}
因此,尽管此字段在正确的范围内附加,但在调用此函数时不会生效。
我在做什么错了?