javascript - Applying multiple extenders in knockout -


i have following javascript code

function appviewmodel(){     this.myvalue = ko.observable().extend({ minnumber: "5"}).extend({ maxnumber: "20" }); }  ko.extenders.minnumber = function(target, minvalue){     target.haserror = ko.observable();     target.errormessage = ko.observable();      function validate(newvalue){         target.haserror(parseint(newvalue) < parseint(minvalue) ? true : false);         target.errormessage(parseint(newvalue) < parseint(minvalue) ? "minval" : "");     }      validate(target());      target.subscribe(validate);      return target; };  ko.extenders.maxnumber = function(target, maxvalue){     target.haserror = ko.observable();     target.errormessage = ko.observable();      function validate(newvalue){         target.haserror(parseint(newvalue) > parseint(maxvalue) ? true : false);         target.haserror(parseint(newvalue) > parseint(maxvalue) ? "maxval" : "");     }      validate(target());      target.subscribe(validate);      return target; };  ko.applybindings(new appviewmodel()); 

and following html

<input data-bind="value: myvalue, valueupdate: 'afterkeydown'"/><br/> <span data-bind="text: myvalue"></span> <span data-bind="text: myvalue.errormessage"></span> <span data-bind="text: myvalue.haserror"></span> 

what trying achieve validation on observable minimum , maximum integer value. code works http://jsfiddle.net/gazzo100uk/nctpx/5/ unsure why works instance why maxnumber not clear errormessage property in validate function if integer less 5 in example or vice versa min.

what order these functions fired?

like say, want don't understand how working , honest never expected work.

can shed light please?

regards, gary

i think main issue causing "work" not setting errormessage in maxnumber extender, not being cleared inappropriately:

function validate(newvalue){     target.haserror(parseint(newvalue) > parseint(maxvalue) ? true : false);     target.haserror(parseint(newvalue) > parseint(maxvalue) ? "maxval" : ""); } 

Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -