Async Validation - matthewnitschke/Kavie GitHub Wiki

As of v1.1 kavie supports async validation

You can create async validation rules as follows

Kavie.validatorFunctions.asyncValidator = {
    async: true, // tells kavie this is async
    validator: function(propVal, eleVal, callback) {
        setTimeout(function(){
            if (propVal == ""){
                callback(true);
            } else {
                callback(false);
            }
        }, 1000);
    }
}

Attach the validation function to observables just like you would any other validator

self.value = ko.observable().extend({
    kavie: {
        asyncValidator: true
    }
})

Then validate like this

self.submit = function(){
    Kavie.isValidAsync(self).then(function(isValid){
        if (isValid){
            console.log("All Good!"); 
        } else {
            console.log("Uh oh!");
        }
    });
}