Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Knockout Validation Plugin Custom Error Message

Based on the following, how exactly do I setup the callback to display a custom error message instead of the default message?

ko.validation.rules['exampleAsync'] = {
    async: true, // the flag that says "Hey I'm Async!"
    validator: function (val, otherVal, callBack) { // yes, you get a 'callback'

        /* some logic here */

        // hand my result back to the callback
        callback( /* true or false */ );
        // or if you want to specify a specific message
        callback( /* { isValid: true, message: "Lorem Ipsum" } */ );
    },
    message: 'My default invalid message'
};
like image 853
Mike W Avatar asked Sep 26 '12 23:09

Mike W


1 Answers

ko.validation.rules['exampleAsync'] = {
    async: true, 
    validator: function (val, otherVal, callBack) { 

        // make an ajax call or something here to do your async validation 
        $.ajax({ type: 'post', url: 'some url', data: val, success: function (data) { 
            if (data.success) {
                callback({ isValid: true, message: "yay it worked"});
            } else {
                callback({ isValid: false, message: data.message });
            }
        });
    },
    message: 'My default invalid message'
};
like image 153
Kevin Nacios Avatar answered Oct 12 '22 00:10

Kevin Nacios