Vue.js 中的 Vuelidate 自定义验证函数

Vuelidate custom validation function in Vue.js

我正在使用 vuelidate 来实现验证并尝试从自定义函数访问整个数据对象(我读过第二个参数采用数据对象),但它只获取观察者并且它只有相同级别的数据在层次结构中。

我在 x11 上应用了自定义验证,然后我在第二个参数中只得到 x11 和 x12,而不是整个对象。

customFunction(value, wholeObject)
{
console.log(value); //value of x11
console.log(wholeObject); // it is printing observer x11 and x12. I was         
expecting //it will print the whole x object
}

data: {
    x: {
        x1: {
            x11,
            x12
        },
        x2
    }
},

validations: {
    x: {
        x1: {
            x11: CustomFunction,
            x12
        },
        x2
    }
}

这是正确的行为还是我做错了什么?

您可以尝试使用以下代码吗:

function customFunction(value) {
    console.log(value);
    console.log(this);
    return value != '';
}

data: {     
    x: {
        x1: { x11: 'abc', x12: 'pqr'},
        x2: 'lmn'
    }
}

validations: {
    x: {
        x1: {
            x11: CustomFunction,
            x12: required
        },
        x2: required
    }
}

Fiddle -> https://jsfiddle.net/7atc5mwr/

请阅读 this page 以了解如何使用自定义验证器和访问组件。