Vee验证仅验证某些字段

时间:2018-10-25 10:11:03

标签: javascript vue.js vee-validate

我有多个通过vee-validate验证的输入,它工作正常,但是我只想检查事件中的某些字段。因此,在看到有关此https://github.com/baianat/vee-validate/issues/1089的问题后,我编写了以下函数:

       async checkInputs(){
            let inputs = ['input1', 'input2', 'input3', 'input4'];
            const results = Promise.all(
                inputs.map(input => {
                    if(this.$validator.validate(input) === true)
                        null;
                    else
                        dictionary.custom[input].required();
                })
            );

            return (await results).filter(element => element != null);
        }

这个想法是得到一个包含失败字段错误信息的数组。请注意,我使用了一些console.log来确保输入检查失败时,它返回错误消息。但是当我使用它时:

           this.checkInputs().then(function(results) {
                console.log(results);
            });

我只有一个包含4个未定义值的数组,而不是包含4个字符串的错误消息数组。

2 个答案:

答案 0 :(得分:2)

您尝试过table A吗?

table A

答案 1 :(得分:0)

Array.map()应该返回值,this.$validator.validate(input)也应该返回promise,因此您可以这样写:

inputs.map(async input => {
   if(await this.$validator.validate(input) === true)
     return null;
   else
     return dictionary.custom[input].required();
   })