/** @constructor */ hui.ui.NumberValidator = function(options) { hui.override({allowNull:false,min:0,max:10},options); this.min = options.min; this.max = options.max; this.allowNull = options.allowNull; this.middle = Math.max(Math.min(this.max,0),this.min); }; hui.ui.NumberValidator.prototype = { validate : function(value) { if (hui.isBlank(value) && this.allowNull) { return {valid:true,value:null}; } var number = parseFloat(value); if (isNaN(number)) { return {valid:false,value:this.middle}; } else if (number<this.min) { return {valid:false,value:this.min}; } else if (number>this.max) { return {valid:false,value:this.max}; } return {valid:true,value:number}; } };