1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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};
}
};