使用VeeValidate进行组件验证

时间:2018-12-19 03:06:10

标签: javascript vue.js vue-component vee-validate

我正在尝试用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,即具有namevalue吸气剂(v模型)并发出input事件,但验证仍然没有基本上不能运行父组件:

clientValidation(validationScopes) {
    return Promise
        .all(validationScopes.map(scope => this.$validator.validate(`${scope}.*`)))
        .then(results => results.every(r => r));
}

因此,尽管此字段在正确的范围内附加,但在调用此函数时不会生效。

我在做什么错了?

0 个答案:

没有答案