JSFiddle - React, Tailwind, and code Playground
by jcreamer898
JavaScript
ko.extenders.number = function(target, message) {
var msg = message || "Value must be a number";
// Set a "sub-observable" on the existing observable
target.errors = target.errors || ko.observableArray();
function validate(val) {
var hasError = isNaN(parseInt(value, 10));
if (hasError) {
target.errors.push(msg);
}
}
validate(target());
target.subscribe(validate);
// Allow chaining
return target;
};
var ViewModel = {
foo: ko.observable().extend({
number: 'use a number d-bag'
})
};
ViewModel.foo('z');
console.log(ViewModel, ViewModel.foo.errors());