Upgrade to ExtJS 3.2.1 - Released 04/27/2010
[extjs.git] / docs / output / Ext.form.ComboBox.html
index 835a033..c44f8be 100644 (file)
@@ -1,4 +1,4 @@
-<div xmlns:ext="http://www.extjs.com" class="body-wrap"><div class="inheritance res-block"><pre class="res-block-inner"><a href="output/Ext.util.Observable.html" ext:member="" ext:cls="Ext.util.Observable">Observable</a>&#13;&nbsp;&nbsp;<img src="resources/elbow-end.gif"><a href="output/Ext.Component.html" ext:member="" ext:cls="Ext.Component">Component</a>&#13;&nbsp;&nbsp;&nbsp;&nbsp;<img src="resources/elbow-end.gif"><a href="output/Ext.BoxComponent.html" ext:member="" ext:cls="Ext.BoxComponent">BoxComponent</a>&#13;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="resources/elbow-end.gif"><a href="output/Ext.form.Field.html" ext:member="" ext:cls="Ext.form.Field">Field</a>&#13;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="resources/elbow-end.gif"><a href="output/Ext.form.TextField.html" ext:member="" ext:cls="Ext.form.TextField">TextField</a>&#13;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="resources/elbow-end.gif"><a href="output/Ext.form.TriggerField.html" ext:member="" ext:cls="Ext.form.TriggerField">TriggerField</a>&#13;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="resources/elbow-end.gif">ComboBox</pre></div><h1>Class <a href="source/Combo.html#cls-Ext.form.ComboBox">Ext.form.ComboBox</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext.form</td></tr><tr><td class="label">Defined In:</td><td class="hd-info">Combo.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/Combo.html#cls-Ext.form.ComboBox">ComboBox</a></td></tr><tr><td class="label">Subclasses:</td><td class="hd-info"><a href="output/Ext.form.TimeField.html" ext:cls="Ext.form.TimeField">TimeField</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info"><a href="output/Ext.form.TriggerField.html" ext:cls="Ext.form.TriggerField" ext:member="">TriggerField</a></td></tr></table><div class="description"><p>A combobox control with support for autocomplete, remote-loading, paging and many other features.</p>
+<div class="body-wrap" xmlns:ext="http://www.extjs.com"><div class="top-tools"><a class="inner-link" href="#Ext.form.ComboBox-props"><img src="../resources/images/default/s.gif" class="item-icon icon-prop">Properties</a>&#13;<a class="inner-link" href="#Ext.form.ComboBox-methods"><img src="../resources/images/default/s.gif" class="item-icon icon-method">Methods</a>&#13;<a class="inner-link" href="#Ext.form.ComboBox-events"><img src="../resources/images/default/s.gif" class="item-icon icon-event">Events</a>&#13;<a class="inner-link" href="#Ext.form.ComboBox-configs"><img src="../resources/images/default/s.gif" class="item-icon icon-config">Config Options</a>&#13;<a class="bookmark" href="../docs/?class=Ext.form.ComboBox"><img src="../resources/images/default/s.gif" class="item-icon icon-fav">Direct Link</a>&#13;</div><div class="inheritance res-block"><pre class="res-block-inner"><a href="output/Ext.util.Observable.html" ext:member="" ext:cls="Ext.util.Observable">Observable</a>&#13;&nbsp;&nbsp;<img src="resources/elbow-end.gif"><a href="output/Ext.Component.html" ext:member="" ext:cls="Ext.Component">Component</a>&#13;&nbsp;&nbsp;&nbsp;&nbsp;<img src="resources/elbow-end.gif"><a href="output/Ext.BoxComponent.html" ext:member="" ext:cls="Ext.BoxComponent">BoxComponent</a>&#13;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="resources/elbow-end.gif"><a href="output/Ext.form.Field.html" ext:member="" ext:cls="Ext.form.Field">Field</a>&#13;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="resources/elbow-end.gif"><a href="output/Ext.form.TextField.html" ext:member="" ext:cls="Ext.form.TextField">TextField</a>&#13;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="resources/elbow-end.gif"><a href="output/Ext.form.TriggerField.html" ext:member="" ext:cls="Ext.form.TriggerField">TriggerField</a>&#13;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="resources/elbow-end.gif">ComboBox</pre></div><h1>Class <a href="source/Combo.html#cls-Ext.form.ComboBox">Ext.form.ComboBox</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext.form</td></tr><tr><td class="label">Defined In:</td><td class="hd-info"><a href="source/Combo.html#cls-Ext.form.ComboBox">Combo.js</a></td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/Combo.html#cls-Ext.form.ComboBox">ComboBox</a></td></tr><tr><td class="label">Subclasses:</td><td class="hd-info"><a href="output/Ext.form.TimeField.html" ext:cls="Ext.form.TimeField">TimeField</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info"><a href="output/Ext.form.TriggerField.html" ext:cls="Ext.form.TriggerField" ext:member="">TriggerField</a></td></tr></table><div class="description"><p>A combobox control with support for autocomplete, remote-loading, paging and many other features.</p>
 <p>A ComboBox works in a similar manner to a traditional HTML &lt;select> field. The difference is
 that to submit the <a href="output/Ext.form.ComboBox.html#Ext.form.ComboBox-valueField" ext:member="valueField" ext:cls="Ext.form.ComboBox">valueField</a>, you must specify a <a href="output/Ext.form.ComboBox.html#Ext.form.ComboBox-hiddenName" ext:member="hiddenName" ext:cls="Ext.form.ComboBox">hiddenName</a> to create a hidden input
 field to hold the value of the valueField. The <i><a href="output/Ext.form.ComboBox.html#Ext.form.ComboBox-displayField" ext:member="displayField" ext:cls="Ext.form.ComboBox">displayField</a></i> is shown in the text field
@@ -192,7 +192,10 @@ Warning: This will override any size manag...</div><div class="long"><p>The maxi
 Warning: This will override any size mana...</div><div class="long"><p>The minimum value in pixels which this BoxComponent will set its height to.</p>
 <p><b>Warning:</b> This will override any size management applied by layout managers.</p></div></div></td><td class="msource"><a href="output/Ext.BoxComponent.html#boxMinHeight" ext:member="#boxMinHeight" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.BoxComponent-boxMinWidth"></a><b><a href="source/BoxComponent.html#cfg-Ext.BoxComponent-boxMinWidth">boxMinWidth</a></b> : Number<div class="mdesc"><div class="short">The minimum value in pixels which this BoxComponent will set its width to.
 Warning: This will override any size manag...</div><div class="long"><p>The minimum value in pixels which this BoxComponent will set its width to.</p>
-<p><b>Warning:</b> This will override any size management applied by layout managers.</p></div></div></td><td class="msource"><a href="output/Ext.BoxComponent.html#boxMinWidth" ext:member="#boxMinWidth" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-clearCls"></a><b><a href="source/Component.html#cfg-Ext.Component-clearCls">clearCls</a></b> : String<div class="mdesc"><div class="short">The CSS class used to to apply to the special clearing div rendered
+<p><b>Warning:</b> This will override any size management applied by layout managers.</p></div></div></td><td class="msource"><a href="output/Ext.BoxComponent.html#boxMinWidth" ext:member="#boxMinWidth" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-bubbleEvents"></a><b><a href="source/Component.html#cfg-Ext.Component-bubbleEvents">bubbleEvents</a></b> : Array<div class="mdesc"><div class="short">An array of events that, when fired, should be bubbled to any parent container.
+See Ext.util.Observable.enableBubble....</div><div class="long"><p>An array of events that, when fired, should be bubbled to any parent container.
+See <a href="output/Ext.util.Observable.html#Ext.util.Observable-enableBubble" ext:member="enableBubble" ext:cls="Ext.util.Observable">Ext.util.Observable.enableBubble</a>.
+Defaults to <tt>[]</tt>.</div></div></td><td class="msource"><a href="output/Ext.Component.html#bubbleEvents" ext:member="#bubbleEvents" ext:cls="Ext.Component">Component</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-clearCls"></a><b><a href="source/Component.html#cfg-Ext.Component-clearCls">clearCls</a></b> : String<div class="mdesc"><div class="short">The CSS class used to to apply to the special clearing div rendered
 directly after each form field wrapper to provide...</div><div class="long"><p>The CSS class used to to apply to the special clearing div rendered
 directly after each form field wrapper to provide field clearing (defaults to
 <tt>'x-form-clear-left'</tt>).</p>
@@ -584,9 +587,9 @@ clicked, set to <tt>'local'</tt> and manually load the store.  To force a requer
     triggerAction: <em>'all'</em>
 });</code></pre></li>
 </ul></div></div></div></td><td class="msource">ComboBox</td></tr><tr class="config-row  inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.Field-msgFx"></a><b><a href="source/Field.html#cfg-Ext.form.Field-msgFx">msgFx</a></b> : String<div class="mdesc"><b>Experimental</b> The effect used when displaying a validation message under the field
-(defaults to 'normal').</div></td><td class="msource"><a href="output/Ext.form.Field.html#msgFx" ext:member="#msgFx" ext:cls="Ext.form.Field">Field</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.Field-msgTarget<p>The"></a><b><a href="source/Field.html#cfg-Ext.form.Field-msgTarget<p>The">msgTarget&lt;p&gt;The</a></b> : String<div class="mdesc"><div class="short">location where the message text set through markInvalid should display.
+(defaults to 'normal').</div></td><td class="msource"><a href="output/Ext.form.Field.html#msgFx" ext:member="#msgFx" ext:cls="Ext.form.Field">Field</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.Field-msgTarget"></a><b><a href="source/Field.html#cfg-Ext.form.Field-msgTarget">msgTarget</a></b> : String<div class="mdesc"><div class="short">The location where the message text set through markInvalid should display.
 Must be one of the following values:
-&lt;div cla...</div><div class="long">location where the message text set through <a href="output/Ext.form.Field.html#Ext.form.Field-markInvalid" ext:member="markInvalid" ext:cls="Ext.form.Field">markInvalid</a> should display.
+&lt;div...</div><div class="long"><p>The location where the message text set through <a href="output/Ext.form.Field.html#Ext.form.Field-markInvalid" ext:member="markInvalid" ext:cls="Ext.form.Field">markInvalid</a> should display.
 Must be one of the following values:</p>
 <div class="mdetail-params"><ul>
 <li><code>qtip</code> Display a quick tip containing the message when the user hovers over the field. This is the default.
@@ -595,7 +598,7 @@ Must be one of the following values:</p>
 <li><code>under</code> Add a block div beneath the field containing the error message.</li>
 <li><code>side</code> Add an error icon to the right of the field, displaying the message in a popup on hover.</li>
 <li><code>[element id]</code> Add the error message directly to the innerHTML of the specified element.</li>
-</ul></div></div></div></td><td class="msource"><a href="output/Ext.form.Field.html#msgTarget<p>The" ext:member="#msgTarget<p>The" ext:cls="Ext.form.Field">Field</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.Field-name"></a><b><a href="source/Field.html#cfg-Ext.form.Field-name">name</a></b> : String<div class="mdesc"><div class="short">The field's HTML name attribute (defaults to '').
+</ul></div></div></div></td><td class="msource"><a href="output/Ext.form.Field.html#msgTarget" ext:member="#msgTarget" ext:cls="Ext.form.Field">Field</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.Field-name"></a><b><a href="source/Field.html#cfg-Ext.form.Field-name">name</a></b> : String<div class="mdesc"><div class="short">The field's HTML name attribute (defaults to '').
 Note: this property must be set if this field is to be automaticall...</div><div class="long">The field's HTML name attribute (defaults to '').
 <b>Note</b>: this property must be set if this field is to be automatically included with
 <a href="output/Ext.form.BasicForm.html#Ext.form.BasicForm-submit" ext:member="submit" ext:cls="Ext.form.BasicForm">form submit()</a>.</div></div></td><td class="msource"><a href="output/Ext.form.Field.html#name" ext:member="#name" ext:cls="Ext.form.Field">Field</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-overCls"></a><b><a href="source/Component.html#cfg-Ext.Component-overCls">overCls</a></b> : String<div class="mdesc"><div class="short">An optional extra CSS class that will be added to this component's Element when the mouse moves
@@ -885,7 +888,20 @@ config for a suggestion, or use a render listener directly:</p><pre><code><b>new
         single: true  <i>// Remove the listener after first invocation</i>
     }
 });</code></pre>
-<p>See also <tt><a href="output/Ext.Component.html#Ext.Component-getEl" ext:member="getEl" ext:cls="Ext.Component">getEl</a></p></div></div></td><td class="msource"><a href="output/Ext.Component.html#el" ext:member="#el" ext:cls="Ext.Component">Component</a></td></tr><tr class="property-row  inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-hidden"></a><b><a href="source/Component.html#prop-Ext.Component-hidden">hidden</a></b> : Boolean<div class="mdesc">True if this component is hidden. Read-only.</div></td><td class="msource"><a href="output/Ext.Component.html#hidden" ext:member="#hidden" ext:cls="Ext.Component">Component</a></td></tr><tr class="property-row  inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-initialConfig"></a><b><a href="source/Component.html#prop-Ext.Component-initialConfig">initialConfig</a></b> : Object<div class="mdesc">This Component's initial configuration specification. Read-only.</div></td><td class="msource"><a href="output/Ext.Component.html#initialConfig" ext:member="#initialConfig" ext:cls="Ext.Component">Component</a></td></tr><tr class="property-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.Field-label"></a><b><a href="source/Field.html#prop-Ext.form.Field-label">label</a></b> : Ext.Element<div class="mdesc"><div class="short">The label Element associated with this Field. Only available after this Field has been rendered by a
+<p>See also <tt><a href="output/Ext.Component.html#Ext.Component-getEl" ext:member="getEl" ext:cls="Ext.Component">getEl</a></p></div></div></td><td class="msource"><a href="output/Ext.Component.html#el" ext:member="#el" ext:cls="Ext.Component">Component</a></td></tr><tr class="property-row  inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-hidden"></a><b><a href="source/Component.html#prop-Ext.Component-hidden">hidden</a></b> : Boolean<div class="mdesc">True if this component is hidden. Read-only.</div></td><td class="msource"><a href="output/Ext.Component.html#hidden" ext:member="#hidden" ext:cls="Ext.Component">Component</a></td></tr><tr class="property-row  inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-initialConfig"></a><b><a href="source/Component.html#prop-Ext.Component-initialConfig">initialConfig</a></b> : Object<div class="mdesc">This Component's initial configuration specification. Read-only.</div></td><td class="msource"><a href="output/Ext.Component.html#initialConfig" ext:member="#initialConfig" ext:cls="Ext.Component">Component</a></td></tr><tr class="property-row  "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.ComboBox-keyNav"></a><b><a href="source/Combo.html#prop-Ext.form.ComboBox-keyNav">keyNav</a></b> : Ext.KeyNav
+&lt;p&gt;A {@link Ext.KeyNav KeyNav} object which handles navigation keys for this ComboBox. This performs actions
+based on keystrokes typed when the input field is focused.&lt;/p&gt;
+&lt;p&gt;&lt;b&gt;After the ComboBox has been rendered&lt;/b&gt;, you may override existing navigation key functionality,
+or add your own based upon key names as specified in the {@link Ext.KeyNav KeyNav} class.&lt;/p&gt;
+&lt;p&gt;The function is executed in the scope (&lt;code&gt;this&lt;/code&gt; reference of the ComboBox. Example:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
+myCombo.keyNav.esc = function(e) {  // Override ESC handling function
+    this.collapse();                // Standard behaviour of Ext's ComboBox.
+    this.setValue(this.startValue); // We reset to starting value on ESC
+};
+myCombo.keyNav.tab = function() {   // Override TAB handling function
+    this.onViewClick(false);        // Select the currently highlighted row
+};
+&lt;/code&gt;&lt;/pre&gt;<div class="mdesc"></div></td><td class="msource">ComboBox</td></tr><tr class="property-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.Field-label"></a><b><a href="source/Field.html#prop-Ext.form.Field-label">label</a></b> : Ext.Element<div class="mdesc"><div class="short">The label Element associated with this Field. Only available after this Field has been rendered by a
 Ext.layout.FormL...</div><div class="long"><p>The label Element associated with this Field. <b>Only available after this Field has been rendered by a
 <a href="output/form.html" ext:cls="form">Ext.layout.FormLayout</a> layout manager.</b></p></div></div></td><td class="msource"><a href="output/Ext.form.Field.html#label" ext:member="#label" ext:cls="Ext.form.Field">Field</a></td></tr><tr class="property-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.ComboBox-lastQuery"></a><b><a href="source/Combo.html#prop-Ext.form.ComboBox-lastQuery">lastQuery</a></b> : String<div class="mdesc"><div class="short">The value of the match string used to filter the store. Delete this property to force a requery.
 Example use:
@@ -1008,38 +1024,38 @@ also clears any filter previously saved in the current store (defaults to <tt>fa
     :
                                         Ext.Component<div class="mdesc"><div class="short">Enable this component and fire the 'enable' event.</div><div class="long">Enable this component and fire the 'enable' event.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li><code>Ext.Component</code><div class="sub-desc">this</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.Component.html#enable" ext:member="#enable" ext:cls="Ext.Component">Component</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-enableBubble"></a><b><a href="source/Observable-more.html#method-Ext.util.Observable-enableBubble">enableBubble</a></b>(&nbsp;<code>String/Array&nbsp;events</code>&nbsp;)
     :
-                                        void<div class="mdesc"><div class="short">Enables events fired by this Observable to bubble up an owner hierarchy by calling&#13;
-this.getBubbleTarget() if present...</div><div class="long"><p>Enables events fired by this Observable to bubble up an owner hierarchy by calling\r
-<code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>\r
-<p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href="output/Ext.Component.getBubbleTarget.html" ext:cls="Ext.Component.getBubbleTarget">Ext.Component.getBubbleTarget</a>. The default\r
-implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to\r
-access the required target more quickly.</p>\r
-<p>Example:</p><pre><code>Ext.override(Ext.form.Field, {\r
-    <i>//  Add functionality to Field&#39;s initComponent to enable the change event to bubble\r</i>
-    initComponent : Ext.form.Field.prototype.initComponent.createSequence(<b>function</b>() {\r
-        this.enableBubble(<em>'change'</em>);\r
-    }),\r
-\r
-    <i>//  We know that we want Field&#39;s events to bubble directly to the FormPanel.\r</i>
-    getBubbleTarget : <b>function</b>() {\r
-        <b>if</b> (!this.formPanel) {\r
-            this.formPanel = this.findParentByType(<em>'form'</em>);\r
-        }\r
-        <b>return</b> this.formPanel;\r
-    }\r
-});\r
-\r
-<b>var</b> myForm = <b>new</b> Ext.formPanel({\r
-    title: <em>'User Details'</em>,\r
-    items: [{\r
-        ...\r
-    }],\r
-    listeners: {\r
-        change: <b>function</b>() {\r
-            <i>// Title goes red <b>if</b> form has been modified.\r</i>
-            myForm.header.setStyle(<em>'color'</em>, <em>'red'</em>);\r
-        }\r
-    }\r
+                                        void<div class="mdesc"><div class="short">Enables events fired by this Observable to bubble up an owner hierarchy by calling
+this.getBubbleTarget() if present....</div><div class="long"><p>Enables events fired by this Observable to bubble up an owner hierarchy by calling
+<code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>
+<p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href="output/Ext.Component.getBubbleTarget.html" ext:cls="Ext.Component.getBubbleTarget">Ext.Component.getBubbleTarget</a>. The default
+implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to
+access the required target more quickly.</p>
+<p>Example:</p><pre><code>Ext.override(Ext.form.Field, {
+    <i>//  Add functionality to Field&#39;s initComponent to enable the change event to bubble</i>
+    initComponent : Ext.form.Field.prototype.initComponent.createSequence(<b>function</b>() {
+        this.enableBubble(<em>'change'</em>);
+    }),
+
+    <i>//  We know that we want Field&#39;s events to bubble directly to the FormPanel.</i>
+    getBubbleTarget : <b>function</b>() {
+        <b>if</b> (!this.formPanel) {
+            this.formPanel = this.findParentByType(<em>'form'</em>);
+        }
+        <b>return</b> this.formPanel;
+    }
+});
+
+<b>var</b> myForm = <b>new</b> Ext.formPanel({
+    title: <em>'User Details'</em>,
+    items: [{
+        ...
+    }],
+    listeners: {
+        change: <b>function</b>() {
+            <i>// Title goes red <b>if</b> form has been modified.</i>
+            myForm.header.setStyle(<em>'color'</em>, <em>'red'</em>);
+        }
+    }
 });</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>events</code> : String/Array<div class="sub-desc">The event name to bubble, or an Array of event names.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#enableBubble" ext:member="#enableBubble" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.ComboBox-expand"></a><b><a href="source/Combo.html#method-Ext.form.ComboBox-expand">expand</a></b>()
     :
                                         void<div class="mdesc"><div class="short">Expands the dropdown list if it is currently hidden. Fires the expand event on completion.</div><div class="long">Expands the dropdown list if it is currently hidden. Fires the <a href="output/Ext.form.ComboBox.html#Ext.form.ComboBox-expand" ext:member="expand" ext:cls="Ext.form.ComboBox">expand</a> event on completion.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">ComboBox</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-findParentBy"></a><b><a href="source/Component.html#method-Ext.Component-findParentBy">findParentBy</a></b>(&nbsp;<code>Function&nbsp;fn</code>&nbsp;)
@@ -1079,7 +1095,63 @@ or use a render listener directly:</p><pre><code><b>new</b> Ext.Panel({
         },
         single: true  <i>// Remove the listener after first invocation</i>
     }
-});</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li><code>Ext.Element</code><div class="sub-desc">The Element which encapsulates this Component.</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.Component.html#getEl" ext:member="#getEl" ext:cls="Ext.Component">Component</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.BoxComponent-getHeight"></a><b><a href="source/BoxComponent.html#method-Ext.BoxComponent-getHeight">getHeight</a></b>()
+});</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li><code>Ext.Element</code><div class="sub-desc">The Element which encapsulates this Component.</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.Component.html#getEl" ext:member="#getEl" ext:cls="Ext.Component">Component</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.TextField-getErrors"></a><b><a href="source/TextField.html#method-Ext.form.TextField-getErrors">getErrors</a></b>(&nbsp;<code>Mixed&nbsp;value</code>&nbsp;)
+    :
+                                        Array<div class="mdesc"><div class="short">Validates a value according to the field's validation rules and returns an array of errors
+for any failing validation...</div><div class="long"><p>Validates a value according to the field's validation rules and returns an array of errors
+for any failing validations. Validation rules are processed in the following order:</p>
+<div class="mdetail-params"><ul>
+<li><b>1. Field specific validator</b>
+<div class="sub-desc">
+<p>A validator offers a way to customize and reuse a validation specification.
+If a field is configured with a <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-validator" ext:member="validator" ext:cls="Ext.form.TextField">validator</a></code>
+function, it will be passed the current field value.  The <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-validator" ext:member="validator" ext:cls="Ext.form.TextField">validator</a></code>
+function is expected to return either:
+<div class="mdetail-params"><ul>
+<li>Boolean <tt>true</tt> if the value is valid (validation continues).</li>
+<li>a String to represent the invalid message if invalid (validation halts).</li>
+</ul></div>
+</div></li>
+<li><b>2. Basic Validation</b>
+<div class="sub-desc">
+<p>If the <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-validator" ext:member="validator" ext:cls="Ext.form.TextField">validator</a></code> has not halted validation,
+basic validation proceeds as follows:</p>
+<div class="mdetail-params"><ul>
+<li><code><a href="output/Ext.form.TextField.html#Ext.form.TextField-allowBlank" ext:member="allowBlank" ext:cls="Ext.form.TextField">allowBlank</a></code> : (Invalid message =
+<code><a href="output/Ext.form.TextField.html#Ext.form.TextField-emptyText" ext:member="emptyText" ext:cls="Ext.form.TextField">emptyText</a></code>)<div class="sub-desc">
+Depending on the configuration of <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-allowBlank" ext:member="allowBlank" ext:cls="Ext.form.TextField">allowBlank</a></code>, a
+blank field will cause validation to halt at this step and return
+Boolean true or false accordingly.  
+</div></li>
+<li><code><a href="output/Ext.form.TextField.html#Ext.form.TextField-minLength" ext:member="minLength" ext:cls="Ext.form.TextField">minLength</a></code> : (Invalid message =
+<code><a href="output/Ext.form.TextField.html#Ext.form.TextField-minLengthText" ext:member="minLengthText" ext:cls="Ext.form.TextField">minLengthText</a></code>)<div class="sub-desc">
+If the passed value does not satisfy the <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-minLength" ext:member="minLength" ext:cls="Ext.form.TextField">minLength</a></code>
+specified, validation halts.
+</div></li>
+<li><code><a href="output/Ext.form.TextField.html#Ext.form.TextField-maxLength" ext:member="maxLength" ext:cls="Ext.form.TextField">maxLength</a></code> : (Invalid message =
+<code><a href="output/Ext.form.TextField.html#Ext.form.TextField-maxLengthText" ext:member="maxLengthText" ext:cls="Ext.form.TextField">maxLengthText</a></code>)<div class="sub-desc">
+If the passed value does not satisfy the <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-maxLength" ext:member="maxLength" ext:cls="Ext.form.TextField">maxLength</a></code>
+specified, validation halts.
+</div></li>
+</ul></div>
+</div></li>
+<li><b>3. Preconfigured Validation Types (VTypes)</b>
+<div class="sub-desc">
+<p>If none of the prior validation steps halts validation, a field
+configured with a <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-vtype" ext:member="vtype" ext:cls="Ext.form.TextField">vtype</a></code> will utilize the
+corresponding <a href="output/Ext.form.VTypes.html" ext:cls="Ext.form.VTypes">VTypes</a> validation function.
+If invalid, either the field's <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-vtypeText" ext:member="vtypeText" ext:cls="Ext.form.TextField">vtypeText</a></code> or
+the VTypes vtype Text property will be used for the invalid message.
+Keystrokes on the field will be filtered according to the VTypes
+vtype Mask property.</p>
+</div></li>
+<li><b>4. Field specific regex test</b>
+<div class="sub-desc">
+<p>If none of the prior validation steps halts validation, a field's
+configured <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-regex" ext:member="regex" ext:cls="Ext.form.TextField">regex</a></code> test will be processed.
+The invalid message for this test is configured with
+<code><a href="output/Ext.form.TextField.html#Ext.form.TextField-regexText" ext:member="regexText" ext:cls="Ext.form.TextField">regexText</a></code>.</p>
+</div></li><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>value</code> : Mixed<div class="sub-desc">The value to validate. The processed raw value will be used if nothing is passed</div></li></ul><strong>Returns:</strong><ul><li><code>Array</code><div class="sub-desc">Array of any validation errors</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.form.TextField.html#getErrors" ext:member="#getErrors" ext:cls="Ext.form.TextField">TextField</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.BoxComponent-getHeight"></a><b><a href="source/BoxComponent.html#method-Ext.BoxComponent-getHeight">getHeight</a></b>()
     :
                                         Number<div class="mdesc"><div class="short">Gets the current height of the component's underlying element.</div><div class="long">Gets the current height of the component's underlying element.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li><code>Number</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.BoxComponent.html#getHeight" ext:member="#getHeight" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-getId"></a><b><a href="source/Component.html#method-Ext.Component-getId">getId</a></b>()
     :
@@ -1304,7 +1376,12 @@ The sto...</div><div class="long">Select an item in the dropdown list by its dat
 The store must be loaded and the list expanded for this function to work, otherwise use setValue.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>value</code> : String<div class="sub-desc">The data value of the item to select</div></li><li><code>scrollIntoView</code> : Boolean<div class="sub-desc">False to prevent the dropdown list from autoscrolling to display the
 selected item if it is not currently in view (defaults to true)</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">True if the value matched an item in the list, else false</div></li></ul></div></div></div></td><td class="msource">ComboBox</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.TextField-selectText"></a><b><a href="source/TextField.html#method-Ext.form.TextField-selectText">selectText</a></b>(&nbsp;<span title="Optional" class="optional">[<code>Number&nbsp;start</code>]</span>,&nbsp;<span title="Optional" class="optional">[<code>Number&nbsp;end</code>]</span>&nbsp;)
     :
-                                        void<div class="mdesc"><div class="short">Selects text in this field</div><div class="long">Selects text in this field<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>start</code> : Number<div class="sub-desc">(optional) The index where the selection should start (defaults to 0)</div></li><li><code>end</code> : Number<div class="sub-desc">(optional) The index where the selection should end (defaults to the text length)</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.form.TextField.html#selectText" ext:member="#selectText" ext:cls="Ext.form.TextField">TextField</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.BoxComponent-setAutoScroll"></a><b><a href="source/BoxComponent.html#method-Ext.BoxComponent-setAutoScroll">setAutoScroll</a></b>(&nbsp;<code>Boolean&nbsp;scroll</code>&nbsp;)
+                                        void<div class="mdesc"><div class="short">Selects text in this field</div><div class="long">Selects text in this field<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>start</code> : Number<div class="sub-desc">(optional) The index where the selection should start (defaults to 0)</div></li><li><code>end</code> : Number<div class="sub-desc">(optional) The index where the selection should end (defaults to the text length)</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.form.TextField.html#selectText" ext:member="#selectText" ext:cls="Ext.form.TextField">TextField</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.Field-setActiveError"></a><b><a href="source/Field.html#method-Ext.form.Field-setActiveError">setActiveError</a></b>(&nbsp;<code>String&nbsp;msg</code>,&nbsp;<code>Boolean&nbsp;suppressEvent</code>&nbsp;)
+    :
+                                        void<div class="mdesc"><div class="short">Sets the current activeError to the given string. Fires the 'invalid' event.
+This does not set up the error icon, onl...</div><div class="long">Sets the current activeError to the given string. Fires the 'invalid' event.
+This does not set up the error icon, only sets the message and fires the event. To show the error icon,
+use markInvalid instead, which calls this method internally<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>msg</code> : String<div class="sub-desc">The error message</div></li><li><code>suppressEvent</code> : Boolean<div class="sub-desc">True to suppress the 'invalid' event from being fired</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.form.Field.html#setActiveError" ext:member="#setActiveError" ext:cls="Ext.form.Field">Field</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.BoxComponent-setAutoScroll"></a><b><a href="source/BoxComponent.html#method-Ext.BoxComponent-setAutoScroll">setAutoScroll</a></b>(&nbsp;<code>Boolean&nbsp;scroll</code>&nbsp;)
     :
                                         Ext.BoxComponent<div class="mdesc"><div class="short">Sets the overflow on the content element of the component.</div><div class="long">Sets the overflow on the content element of the component.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>scroll</code> : Boolean<div class="sub-desc">True to allow the Component to auto scroll.</div></li></ul><strong>Returns:</strong><ul><li><code>Ext.BoxComponent</code><div class="sub-desc">this</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.BoxComponent.html#setAutoScroll" ext:member="#setAutoScroll" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-setDisabled"></a><b><a href="source/Component.html#method-Ext.Component-setDisabled">setDisabled</a></b>(&nbsp;<code>Boolean&nbsp;disabled</code>&nbsp;)
     :
@@ -1314,10 +1391,10 @@ selected item if it is not currently in view (defaults to true)</div></li></ul><
 Allow or prevent the user from directly editing the field text.  If false is passed,
 the user will only be able to modify the field using the trigger.  Will also add
 a click event to the text field which will call the trigger. This method
-is the runtime equivalent of setting the 'editable' config option at config time.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.form.TriggerField.html#setEditable" ext:member="#setEditable" ext:cls="Ext.form.TriggerField">TriggerField</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.BoxComponent-setHeight"></a><b><a href="source/BoxComponent.html#method-Ext.BoxComponent-setHeight">setHeight</a></b>(&nbsp;<code>Number&nbsp;height</code>&nbsp;)
+is the runtime equivalent of setting the 'editable' config option at config time.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.form.TriggerField.html#setEditable" ext:member="#setEditable" ext:cls="Ext.form.TriggerField">TriggerField</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.BoxComponent-setHeight"></a><b><a href="source/BoxComponent.html#method-Ext.BoxComponent-setHeight">setHeight</a></b>(&nbsp;<code>Mixed&nbsp;height</code>&nbsp;)
     :
-                                        Ext.BoxComponent<div class="mdesc"><div class="short">Sets the height of the component.  This method fires the resize event.</div><div class="long">Sets the height of the component.  This method fires the <a href="output/Ext.BoxComponent.html#Ext.BoxComponent-resize" ext:member="resize" ext:cls="Ext.BoxComponent">resize</a> event.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>height</code> : Number<div class="sub-desc">The new height to set. This may be one of:<div class="mdetail-params"><ul>
-<li>A Number specifying the new height in the <a href="output/Ext.BoxComponent.html#Ext.BoxComponent-getEl" ext:member="getEl" ext:cls="Ext.BoxComponent">Element</a>'s <a href="output/Ext.Element.html#Ext.Element-defaultUnit" ext:member="defaultUnit" ext:cls="Ext.Element">Ext.Element.defaultUnit</a>s (by default, pixels).</li>
+                                        Ext.BoxComponent<div class="mdesc"><div class="short">Sets the height of the component.  This method fires the resize event.</div><div class="long">Sets the height of the component.  This method fires the <a href="output/Ext.BoxComponent.html#Ext.BoxComponent-resize" ext:member="resize" ext:cls="Ext.BoxComponent">resize</a> event.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>height</code> : Mixed<div class="sub-desc">The new height to set. This may be one of:<div class="mdetail-params"><ul>
+<li>A Number specifying the new height in the <a href="output/Ext.BoxComponent.html#Ext.BoxComponent-getEl" ext:member="getEl" ext:cls="Ext.BoxComponent">Element</a>'s <a href="output/Ext.Element.html#Ext.Element-defaultUnit" ext:member="defaultUnit" ext:cls="Ext.Element">defaultUnit</a>s (by default, pixels).</li>
 <li>A String used to set the CSS height style.</li>
 <li><i>undefined</i> to leave the height unchanged.</li>
 </ul></div></div></li></ul><strong>Returns:</strong><ul><li><code>Ext.BoxComponent</code><div class="sub-desc">this</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.BoxComponent.html#setHeight" ext:member="#setHeight" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.BoxComponent-setPagePosition"></a><b><a href="source/BoxComponent.html#method-Ext.BoxComponent-setPagePosition">setPagePosition</a></b>(&nbsp;<code>Number&nbsp;x</code>,&nbsp;<code>Number&nbsp;y</code>&nbsp;)
@@ -1358,10 +1435,10 @@ will be displayed in the field.  If the value does not match the data value of a
 and the valueNotFoundText config option is defined, it will be displayed as the default field text.
 Otherwise the field will be blank (although the value will still be set).<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>value</code> : String<div class="sub-desc">The value to match</div></li></ul><strong>Returns:</strong><ul><li><code>Ext.form.Field</code><div class="sub-desc">this</div></li></ul></div></div></div></td><td class="msource">ComboBox</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-setVisible"></a><b><a href="source/Component.html#method-Ext.Component-setVisible">setVisible</a></b>(&nbsp;<code>Boolean&nbsp;visible</code>&nbsp;)
     :
-                                        Ext.Component<div class="mdesc"><div class="short">Convenience function to hide or show this component by boolean.</div><div class="long">Convenience function to hide or show this component by boolean.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>visible</code> : Boolean<div class="sub-desc">True to show, false to hide</div></li></ul><strong>Returns:</strong><ul><li><code>Ext.Component</code><div class="sub-desc">this</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.Component.html#setVisible" ext:member="#setVisible" ext:cls="Ext.Component">Component</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.BoxComponent-setWidth"></a><b><a href="source/BoxComponent.html#method-Ext.BoxComponent-setWidth">setWidth</a></b>(&nbsp;<code>Number&nbsp;width</code>&nbsp;)
+                                        Ext.Component<div class="mdesc"><div class="short">Convenience function to hide or show this component by boolean.</div><div class="long">Convenience function to hide or show this component by boolean.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>visible</code> : Boolean<div class="sub-desc">True to show, false to hide</div></li></ul><strong>Returns:</strong><ul><li><code>Ext.Component</code><div class="sub-desc">this</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.Component.html#setVisible" ext:member="#setVisible" ext:cls="Ext.Component">Component</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.BoxComponent-setWidth"></a><b><a href="source/BoxComponent.html#method-Ext.BoxComponent-setWidth">setWidth</a></b>(&nbsp;<code>Mixed&nbsp;width</code>&nbsp;)
     :
-                                        Ext.BoxComponent<div class="mdesc"><div class="short">Sets the width of the component.  This method fires the resize event.</div><div class="long">Sets the width of the component.  This method fires the <a href="output/Ext.BoxComponent.html#Ext.BoxComponent-resize" ext:member="resize" ext:cls="Ext.BoxComponent">resize</a> event.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>width</code> : Number<div class="sub-desc">The new width to setThis may be one of:<div class="mdetail-params"><ul>
-<li>A Number specifying the new width in the <a href="output/Ext.BoxComponent.html#Ext.BoxComponent-getEl" ext:member="getEl" ext:cls="Ext.BoxComponent">Element</a>'s <a href="output/Ext.Element.html#Ext.Element-defaultUnit" ext:member="defaultUnit" ext:cls="Ext.Element">Ext.Element.defaultUnit</a>s (by default, pixels).</li>
+                                        Ext.BoxComponent<div class="mdesc"><div class="short">Sets the width of the component.  This method fires the resize event.</div><div class="long">Sets the width of the component.  This method fires the <a href="output/Ext.BoxComponent.html#Ext.BoxComponent-resize" ext:member="resize" ext:cls="Ext.BoxComponent">resize</a> event.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>width</code> : Mixed<div class="sub-desc">The new width to set. This may be one of:<div class="mdetail-params"><ul>
+<li>A Number specifying the new width in the <a href="output/Ext.BoxComponent.html#Ext.BoxComponent-getEl" ext:member="getEl" ext:cls="Ext.BoxComponent">Element</a>'s <a href="output/Ext.Element.html#Ext.Element-defaultUnit" ext:member="defaultUnit" ext:cls="Ext.Element">defaultUnit</a>s (by default, pixels).</li>
 <li>A String used to set the CSS width style.</li>
 </ul></div></div></li></ul><strong>Returns:</strong><ul><li><code>Ext.BoxComponent</code><div class="sub-desc">this</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.BoxComponent.html#setWidth" ext:member="#setWidth" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-show"></a><b><a href="source/Component.html#method-Ext.Component-show">show</a></b>()
     :
@@ -1375,7 +1452,11 @@ after the <a href="output/Ext.util.Observable.html#Ext.util.Observable-resumeEve
     :
                                         Ext.BoxComponent<div class="mdesc"><div class="short">Force the component's size to recalculate based on the underlying element's current height and width.</div><div class="long">Force the component's size to recalculate based on the underlying element's current height and width.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li><code>Ext.BoxComponent</code><div class="sub-desc">this</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.BoxComponent.html#syncSize" ext:member="#syncSize" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.util.Observable-un"></a><b><a href="source/Observable.html#method-Ext.util.Observable-un">un</a></b>(&nbsp;<code>String&nbsp;eventName</code>,&nbsp;<code>Function&nbsp;handler</code>,&nbsp;<span title="Optional" class="optional">[<code>Object&nbsp;scope</code>]</span>&nbsp;)
     :
-                                        void<div class="mdesc"><div class="short">Removes an event handler (shorthand for removeListener.)</div><div class="long">Removes an event handler (shorthand for <a href="output/Ext.util.Observable.html#Ext.util.Observable-removeListener" ext:member="removeListener" ext:cls="Ext.util.Observable">removeListener</a>.)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event the handler was associated with.</div></li><li><code>handler</code> : Function<div class="sub-desc">The handler to remove. <b>This must be a reference to the function passed into the <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> call.</b></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope originally specified for the handler.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#un" ext:member="#un" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-update"></a><b><a href="source/Component.html#method-Ext.Component-update">update</a></b>(&nbsp;<code>Mixed&nbsp;htmlOrData</code>,&nbsp;<span title="Optional" class="optional">[<code>Boolean&nbsp;loadScripts</code>]</span>,&nbsp;<span title="Optional" class="optional">[<code>Function&nbsp;callback</code>]</span>&nbsp;)
+                                        void<div class="mdesc"><div class="short">Removes an event handler (shorthand for removeListener.)</div><div class="long">Removes an event handler (shorthand for <a href="output/Ext.util.Observable.html#Ext.util.Observable-removeListener" ext:member="removeListener" ext:cls="Ext.util.Observable">removeListener</a>.)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event the handler was associated with.</div></li><li><code>handler</code> : Function<div class="sub-desc">The handler to remove. <b>This must be a reference to the function passed into the <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> call.</b></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope originally specified for the handler.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#un" ext:member="#un" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.Field-unsetActiveError"></a><b><a href="source/Field.html#method-Ext.form.Field-unsetActiveError">unsetActiveError</a></b>(&nbsp;<code>Boolean&nbsp;suppressEvent</code>&nbsp;)
+    :
+                                        void<div class="mdesc"><div class="short">Clears the activeError and fires the 'valid' event. This is called internally by clearInvalid and would not
+usually n...</div><div class="long">Clears the activeError and fires the 'valid' event. This is called internally by clearInvalid and would not
+usually need to be called manually<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>suppressEvent</code> : Boolean<div class="sub-desc">True to suppress the 'invalid' event from being fired</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.form.Field.html#unsetActiveError" ext:member="#unsetActiveError" ext:cls="Ext.form.Field">Field</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-update"></a><b><a href="source/Component.html#method-Ext.Component-update">update</a></b>(&nbsp;<code>Mixed&nbsp;htmlOrData</code>,&nbsp;<span title="Optional" class="optional">[<code>Boolean&nbsp;loadScripts</code>]</span>,&nbsp;<span title="Optional" class="optional">[<code>Function&nbsp;callback</code>]</span>&nbsp;)
     :
                                         void<div class="mdesc"><div class="short">Update the content area of a component.</div><div class="long">Update the content area of a component.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>htmlOrData</code> : Mixed<div class="sub-desc">If this component has been configured with a template via the tpl config
 then it will use this argument as data to populate the template.
@@ -1384,63 +1465,13 @@ content area will be updated via Ext.Element update</div></li><li><code>loadScri
     :
                                         Ext.BoxComponent<div class="mdesc"><div class="short">Sets the current box measurements of the component's underlying element.</div><div class="long">Sets the current box measurements of the component's underlying element.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>box</code> : Object<div class="sub-desc">An object in the format {x, y, width, height}</div></li></ul><strong>Returns:</strong><ul><li><code>Ext.BoxComponent</code><div class="sub-desc">this</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.BoxComponent.html#updateBox" ext:member="#updateBox" ext:cls="Ext.BoxComponent">BoxComponent</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.Field-validate"></a><b><a href="source/Field.html#method-Ext.form.Field-validate">validate</a></b>()
     :
-                                        Boolean<div class="mdesc"><div class="short">Validates the field value</div><div class="long">Validates the field value<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">True if the value is valid, else false</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.form.Field.html#validate" ext:member="#validate" ext:cls="Ext.form.Field">Field</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.TextField-validateValue"></a><b><a href="source/TextField.html#method-Ext.form.TextField-validateValue">validateValue</a></b>(&nbsp;<code>Mixed&nbsp;value</code>&nbsp;)
+                                        Boolean<div class="mdesc"><div class="short">Validates the field value</div><div class="long">Validates the field value<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">True if the value is valid, else false</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.form.Field.html#validate" ext:member="#validate" ext:cls="Ext.form.Field">Field</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.form.Field-validateValue"></a><b><a href="source/Field.html#method-Ext.form.Field-validateValue">validateValue</a></b>(&nbsp;<code>Mixed&nbsp;The</code>&nbsp;)
     :
-                                        Boolean<div class="mdesc"><div class="short">Validates a value according to the field's validation rules and marks the field as invalid
-if the validation fails. V...</div><div class="long"><p>Validates a value according to the field's validation rules and marks the field as invalid
-if the validation fails. Validation rules are processed in the following order:</p>
-<div class="mdetail-params"><ul>
-<li><b>1. Field specific validator</b>
-<div class="sub-desc">
-<p>A validator offers a way to customize and reuse a validation specification.
-If a field is configured with a <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-validator" ext:member="validator" ext:cls="Ext.form.TextField">validator</a></code>
-function, it will be passed the current field value.  The <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-validator" ext:member="validator" ext:cls="Ext.form.TextField">validator</a></code>
-function is expected to return either:
-<div class="mdetail-params"><ul>
-<li>Boolean <tt>true</tt> if the value is valid (validation continues).</li>
-<li>a String to represent the invalid message if invalid (validation halts).</li>
-</ul></div>
-</div></li>
-<li><b>2. Basic Validation</b>
-<div class="sub-desc">
-<p>If the <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-validator" ext:member="validator" ext:cls="Ext.form.TextField">validator</a></code> has not halted validation,
-basic validation proceeds as follows:</p>
-<div class="mdetail-params"><ul>
-<li><code><a href="output/Ext.form.TextField.html#Ext.form.TextField-allowBlank" ext:member="allowBlank" ext:cls="Ext.form.TextField">allowBlank</a></code> : (Invalid message =
-<code><a href="output/Ext.form.TextField.html#Ext.form.TextField-emptyText" ext:member="emptyText" ext:cls="Ext.form.TextField">emptyText</a></code>)<div class="sub-desc">
-Depending on the configuration of <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-allowBlank" ext:member="allowBlank" ext:cls="Ext.form.TextField">allowBlank</a></code>, a
-blank field will cause validation to halt at this step and return
-Boolean true or false accordingly.  
-</div></li>
-<li><code><a href="output/Ext.form.TextField.html#Ext.form.TextField-minLength" ext:member="minLength" ext:cls="Ext.form.TextField">minLength</a></code> : (Invalid message =
-<code><a href="output/Ext.form.TextField.html#Ext.form.TextField-minLengthText" ext:member="minLengthText" ext:cls="Ext.form.TextField">minLengthText</a></code>)<div class="sub-desc">
-If the passed value does not satisfy the <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-minLength" ext:member="minLength" ext:cls="Ext.form.TextField">minLength</a></code>
-specified, validation halts.
-</div></li>
-<li><code><a href="output/Ext.form.TextField.html#Ext.form.TextField-maxLength" ext:member="maxLength" ext:cls="Ext.form.TextField">maxLength</a></code> : (Invalid message =
-<code><a href="output/Ext.form.TextField.html#Ext.form.TextField-maxLengthText" ext:member="maxLengthText" ext:cls="Ext.form.TextField">maxLengthText</a></code>)<div class="sub-desc">
-If the passed value does not satisfy the <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-maxLength" ext:member="maxLength" ext:cls="Ext.form.TextField">maxLength</a></code>
-specified, validation halts.
-</div></li>
-</ul></div>
-</div></li>
-<li><b>3. Preconfigured Validation Types (VTypes)</b>
-<div class="sub-desc">
-<p>If none of the prior validation steps halts validation, a field
-configured with a <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-vtype" ext:member="vtype" ext:cls="Ext.form.TextField">vtype</a></code> will utilize the
-corresponding <a href="output/Ext.form.VTypes.html" ext:cls="Ext.form.VTypes">VTypes</a> validation function.
-If invalid, either the field's <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-vtypeText" ext:member="vtypeText" ext:cls="Ext.form.TextField">vtypeText</a></code> or
-the VTypes vtype Text property will be used for the invalid message.
-Keystrokes on the field will be filtered according to the VTypes
-vtype Mask property.</p>
-</div></li>
-<li><b>4. Field specific regex test</b>
-<div class="sub-desc">
-<p>If none of the prior validation steps halts validation, a field's
-configured <code><a href="output/Ext.form.TextField.html#Ext.form.TextField-regex" ext:member="regex" ext:cls="Ext.form.TextField">regex</a></code> test will be processed.
-The invalid message for this test is configured with
-<code><a href="output/Ext.form.TextField.html#Ext.form.TextField-regexText" ext:member="regexText" ext:cls="Ext.form.TextField">regexText</a></code>.</p>
-</div></li><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>value</code> : Mixed<div class="sub-desc">The value to validate</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">True if the value is valid, else false</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.form.TextField.html#validateValue" ext:member="#validateValue" ext:cls="Ext.form.TextField">TextField</a></td></tr></tbody></table><a id="Ext.form.ComboBox-events"></a><h2>Public Events</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Event</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-added"></a><b><a href="source/Component.html#event-Ext.Component-added">added</a></b> :
+                                        Boolean<div class="mdesc"><div class="short">Uses getErrors to build an array of validation errors. If any errors are found, markInvalid is called
+with the first ...</div><div class="long">Uses getErrors to build an array of validation errors. If any errors are found, markInvalid is called
+with the first and false is returned, otherwise true is returned. Previously, subclasses were invited
+to provide an implementation of this to process validations - from 3.2 onwards getErrors should be
+overridden instead.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>The</code> : Mixed<div class="sub-desc">current value of the field</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">True if all validations passed, false if one or more failed</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.form.Field.html#validateValue" ext:member="#validateValue" ext:cls="Ext.form.Field">Field</a></td></tr></tbody></table><a id="Ext.form.ComboBox-events"></a><h2>Public Events</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Event</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-added"></a><b><a href="source/Component.html#event-Ext.Component-added">added</a></b> :
                                       (&nbsp;<code>Ext.Component&nbsp;this</code>,&nbsp;<code>Ext.Container&nbsp;ownerCt</code>,&nbsp;<code>number&nbsp;index</code>&nbsp;)
     <div class="mdesc"><div class="short">Fires when a component is added to an Ext.Container</div><div class="long">Fires when a component is added to an Ext.Container<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>this</code> : Ext.Component<div class="sub-desc"></div></li><li><code>ownerCt</code> : Ext.Container<div class="sub-desc">Container which holds the component</div></li><li><code>index</code> : number<div class="sub-desc">Position at which the component was added</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.Component.html#added" ext:member="#added" ext:cls="Ext.Component">Component</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.Component-afterrender"></a><b><a href="source/Component.html#event-Ext.Component-afterrender">afterrender</a></b> :
                                       (&nbsp;<code>Ext.Component&nbsp;this</code>&nbsp;)