You can always bind to the change event on the observable and check the object for the property...
viewModel.bind("change", function(e) {
if (this[e.field] === undefined) {
console.error("The field " + e.field + " cannot be bound because it doesn't exist");
}
});
If you want to get all of your observables at once, you can grab the root observable object and bind quickly to the change.
DISCLAIMER: MVVM is a finely tuned machine. If you intercept it's function and do checking like this, you're likely to slow it down. This is also not something that is going to be supported formally by the Kendo UI team. Your milage may vary.
kendo.observable = function(object) {
if (!(object instanceof kendo.data.ObservableObject)) {
object = new kendo.data.ObservableObject(object);
// add a get binding on all observables
object.bind("get", function(e) {
if (this[e.field] === undefined) {
console.error("Cannot bind to the field '" + e.field + "' because it does not exist");
}
});
}
return object;
};