X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/2e847cf21b8ab9d15fa167b315ca5b2fa92638fc..ddde20c4d4ac6a8d53de079761155de813845b3c:/docs/source/NumberField.html diff --git a/docs/source/NumberField.html b/docs/source/NumberField.html index eb61ed86..932cd769 100644 --- a/docs/source/NumberField.html +++ b/docs/source/NumberField.html @@ -1,12 +1,18 @@ - -
- -/** + + + ++ \ No newline at end of fileThe source code + + + + +/*! + * Ext JS Library 3.2.0 + * Copyright(c) 2006-2010 Ext JS, Inc. + * licensing@extjs.com + * http://www.extjs.com/license + */ +/** * @class Ext.form.NumberField * @extends Ext.form.TextField * Numeric text field that provides automatic keystroke filtering and numeric validation. @@ -80,30 +86,41 @@ Ext.form.NumberField = Ext.extend(Ext.form.TextField, { this.maskRe = new RegExp('[' + Ext.escapeRe(allowed) + ']'); Ext.form.NumberField.superclass.initEvents.call(this); }, - - // private - validateValue : function(value){ - if(!Ext.form.NumberField.superclass.validateValue.call(this, value)){ - return false; - } - if(value.length < 1){ // if it's blank and textfield didn't flag it then it's valid - return true; + + /** + * Runs all of NumberFields validations and returns an array of any errors. Note that this first + * runs TextField's validations, so the returned array is an amalgamation of all field errors. + * The additional validations run test that the value is a number, and that it is within the + * configured min and max values. + * @param {Mixed} value The value to get errors for (defaults to the current field value) + * @return {Array} All validation errors for this field + */ + getErrors: function(value) { + var errors = Ext.form.NumberField.superclass.getErrors.apply(this, arguments); + + value = value || this.processValue(this.getRawValue()); + + if (value.length < 1) { // if it's blank and textfield didn't flag it then it's valid + return errors; } + value = String(value).replace(this.decimalSeparator, "."); + if(isNaN(value)){ - this.markInvalid(String.format(this.nanText, value)); - return false; + errors.push(String.format(this.nanText, value)); } + var num = this.parseValue(value); + if(num < this.minValue){ - this.markInvalid(String.format(this.minText, this.minValue)); - return false; + errors.push(String.format(this.minText, this.minValue)); } + if(num > this.maxValue){ - this.markInvalid(String.format(this.maxText, this.maxValue)); - return false; + errors.push(String.format(this.maxText, this.maxValue)); } - return true; + + return errors; }, getValue : function(){ @@ -154,6 +171,6 @@ Ext.form.NumberField = Ext.extend(Ext.form.TextField, { } } }); -Ext.reg('numberfield', Ext.form.NumberField);- +Ext.reg('numberfield', Ext.form.NumberField);