Ext JS 4.0.7 Sencha Docs

Ext.form.field.VTypes

Alternate names

Ext.form.VTypes

Hierarchy

Ext.Base
Ext.form.field.VTypes

Files

This is a singleton object which contains a set of commonly used field validation functions and provides a mechanism for creating reusable custom field validations. The following field validation functions are provided out of the box:

VTypes can be applied to a Text Field using the vtype configuration:

Ext.create('Ext.form.field.Text', {
    fieldLabel: 'Email Address',
    name: 'email',
    vtype: 'email' // applies email validation rules to this field
});

To create custom VTypes:

// custom Vtype for vtype:'time'
var timeTest = /^([1-9]|1[0-9]):([0-5][0-9])(\s[a|p]m)$/i;
Ext.apply(Ext.form.field.VTypes, {
    //  vtype validation function
    time: function(val, field) {
        return timeTest.test(val);
    },
    // vtype Text property: The error text to display when the validation function returns false
    timeText: 'Not a valid time.  Must be in the format "12:34 PM".',
    // vtype Mask property: The keystroke filter mask
    timeMask: /[\d\s:amp]/i
});

In the above example the time function is the validator that will run when field validation occurs, timeText is the error message, and timeMask limits what characters can be typed into the field. Note that the Text and Mask functions must begin with the same name as the validator function.

Using a custom validator is the same as using one of the build-in validators - just use the name of the validator function as the vtype configuration on a Text Field:

Ext.create('Ext.form.field.Text', {
    fieldLabel: 'Departure Time',
    name: 'departureTime',
    vtype: 'time' // applies custom time validation rules to this field
});

Another example of a custom validator:

// custom Vtype for vtype:'IPAddress'
Ext.apply(Ext.form.field.VTypes, {
    IPAddress:  function(v) {
        return /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(v);
    },
    IPAddressText: 'Must be a numeric IP address',
    IPAddressMask: /[\d\.]/i
});

It's important to note that using Ext.apply() means that the custom validator function as well as Text and Mask fields are added as properties of the Ext.form.field.VTypes singleton.

Available since: 1.1.0

Defined By

Properties

Ext.form.field.VTypes
view source
: RegExp
The keystroke filter mask to be applied on alpha input. ...

The keystroke filter mask to be applied on alpha input. Defaults to: /[a-z_]/i

Defaults to: /[a-z_]/i

Available since: 1.1.0

Ext.form.field.VTypes
view source
: String
The error text to display when the alpha validation function returns false. ...

The error text to display when the alpha validation function returns false. Defaults to: 'This field should only contain letters and _'

Defaults to: 'This field should only contain letters and _'

Available since: 1.1.0

Ext.form.field.VTypes
view source
: RegExp
The keystroke filter mask to be applied on alphanumeric input. ...

The keystroke filter mask to be applied on alphanumeric input. Defaults to: /[a-z0-9_]/i

Defaults to: /[a-z0-9_]/i

Available since: 1.1.0

Ext.form.field.VTypes
view source
: String
The error text to display when the alphanumeric validation function returns false. ...

The error text to display when the alphanumeric validation function returns false. Defaults to: 'This field should only contain letters, numbers and _'

Defaults to: 'This field should only contain letters, numbers and _'

Available since: 1.1.0

Available since: 4.0.0

Ext.form.field.VTypes
view source
: RegExp
The keystroke filter mask to be applied on email input. ...

The keystroke filter mask to be applied on email input. See the email method for information about more complex email validation. Defaults to: /[a-z0-9_.-@]/i

Defaults to: /[a-z0-9_\.\-@\+]/i

Available since: 1.1.0

Ext.form.field.VTypes
view source
: String
The error text to display when the email validation function returns false. ...

The error text to display when the email validation function returns false. Defaults to: 'This field should be an e-mail address in the format "user@example.com"'

Defaults to: 'This field should be an e-mail address in the format "user@example.com"'

Available since: 1.1.0

Get the reference to the current class from which this object was instantiated. ...

Get the reference to the current class from which this object was instantiated. Unlike statics, this.self is scope-dependent and it's meant to be used for dynamic inheritance. See statics for a detailed comparison

Ext.define('My.Cat', {
    statics: {
        speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
    },

    constructor: function() {
        alert(this.self.speciesName); / dependent on 'this'

        return this;
    },

    clone: function() {
        return new this.self();
    }
});


Ext.define('My.SnowLeopard', {
    extend: 'My.Cat',
    statics: {
        speciesName: 'Snow Leopard'         // My.SnowLeopard.speciesName = 'Snow Leopard'
    }
});

var cat = new My.Cat();                     // alerts 'Cat'
var snowLeopard = new My.SnowLeopard();     // alerts 'Snow Leopard'

var clone = snowLeopard.clone();
alert(Ext.getClassName(clone));             // alerts 'My.SnowLeopard'

Available since: 4.0.0

Ext.form.field.VTypes
view source
: String
The error text to display when the url validation function returns false. ...

The error text to display when the url validation function returns false. Defaults to: 'This field should be a URL in the format "http:/'+'/www.example.com"'

Defaults to: 'This field should be a URL in the format "http:/' + '/www.example.com"'

Available since: 1.1.0

Methods

Defined By

Instance methods

...

Available since: 4.0.6

Parameters

Returns

Ext.form.field.VTypes
view source
( value ) : Boolean
The function used to validate alpha values ...

The function used to validate alpha values

Available since: 1.1.0

Parameters

Returns

  • Boolean

    true if the RegExp test passed, and false if not.

Ext.form.field.VTypes
view source
( value ) : Boolean
The function used to validate alphanumeric values ...

The function used to validate alphanumeric values

Available since: 1.1.0

Parameters

Returns

  • Boolean

    true if the RegExp test passed, and false if not.

Call the original method that was previously overridden with override Ext.define('My.Cat', { constructor: functi...

Call the original method that was previously overridden with override

Ext.define('My.Cat', {
    constructor: function() {
        alert("I'm a cat!");

        return this;
    }
});

My.Cat.override({
    constructor: function() {
        alert("I'm going to be a cat!");

        var instance = this.callOverridden();

        alert("Meeeeoooowwww");

        return instance;
    }
});

var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
                          // alerts "I'm a cat!"
                          // alerts "Meeeeoooowwww"

Available since: 4.0.0

Parameters

  • args : Array/Arguments

    The arguments, either an array or the arguments object

Returns

  • Object

    Returns the result after calling the overridden method

Call the parent's overridden method. ...

Call the parent's overridden method. For example:

Ext.define('My.own.A', {
    constructor: function(test) {
        alert(test);
    }
});

Ext.define('My.own.B', {
    extend: 'My.own.A',

    constructor: function(test) {
        alert(test);

        this.callParent([test + 1]);
    }
});

Ext.define('My.own.C', {
    extend: 'My.own.B',

    constructor: function() {
        alert("Going to call parent's overriden constructor...");

        this.callParent(arguments);
    }
});

var a = new My.own.A(1); // alerts '1'
var b = new My.own.B(1); // alerts '1', then alerts '2'
var c = new My.own.C(2); // alerts "Going to call parent's overriden constructor..."
                         // alerts '2', then alerts '3'

Available since: 4.0.0

Parameters

  • args : Array/Arguments

    The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments)

Returns

  • Object

    Returns the result from the superclass' method

Ext.form.field.VTypes
view source
( value ) : Boolean
The function used to validate email addresses. ...

The function used to validate email addresses. Note that this is a very basic validation - complete validation per the email RFC specifications is very complex and beyond the scope of this class, although this function can be overridden if a more comprehensive validation scheme is desired. See the validation section of the Wikipedia article on email addresses for additional information. This implementation is intended to validate the following emails:

  • barney@example.de
  • barney.rubble@example.com
  • barney-rubble@example.coop
  • barney+rubble@example.com

Available since: 1.1.0

Parameters

  • value : String

    The email address

Returns

  • Boolean

    true if the RegExp test passed, and false if not.

( config ) : Objectchainableprotected
Initialize configuration for this class. ...

Initialize configuration for this class. a typical example:

Ext.define('My.awesome.Class', {
    // The default config
    config: {
        name: 'Awesome',
        isAwesome: true
    },

    constructor: function(config) {
        this.initConfig(config);

        return this;
    }
});

var awesome = new My.awesome.Class({
    name: 'Super Awesome'
});

alert(awesome.getName()); // 'Super Awesome'

Available since: 4.0.0

Parameters

Returns

  • Object

    mixins The mixin prototypes as key - value pairs

Fires

    ( name, cls )private
    Used internally by the mixins pre-processor ...

    Used internally by the mixins pre-processor

    Available since: 4.0.6

    Parameters

    Fires

      ( name, value )private
      ...

      Available since: 4.0.6

      Parameters

      Fires

        ( name, fn )private
        ...

        Available since: 4.0.0

        Parameters

        ( config ) : Ext.Basechainableprivate
        ...

        Available since: 4.0.0

        Parameters

        Returns

        Fires

          Get the reference to the class from which this object was instantiated. ...

          Get the reference to the class from which this object was instantiated. Note that unlike self, this.statics() is scope-independent and it always returns the class from which it was called, regardless of what this points to during run-time

          Ext.define('My.Cat', {
              statics: {
                  totalCreated: 0,
                  speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
              },
          
              constructor: function() {
                  var statics = this.statics();
          
                  alert(statics.speciesName);     // always equals to 'Cat' no matter what 'this' refers to
                                                  // equivalent to: My.Cat.speciesName
          
                  alert(this.self.speciesName);   // dependent on 'this'
          
                  statics.totalCreated++;
          
                  return this;
              },
          
              clone: function() {
                  var cloned = new this.self;                      // dependent on 'this'
          
                  cloned.groupName = this.statics().speciesName;   // equivalent to: My.Cat.speciesName
          
                  return cloned;
              }
          });
          
          
          Ext.define('My.SnowLeopard', {
              extend: 'My.Cat',
          
              statics: {
                  speciesName: 'Snow Leopard'     // My.SnowLeopard.speciesName = 'Snow Leopard'
              },
          
              constructor: function() {
                  this.callParent();
              }
          });
          
          var cat = new My.Cat();                 // alerts 'Cat', then alerts 'Cat'
          
          var snowLeopard = new My.SnowLeopard(); // alerts 'Cat', then alerts 'Snow Leopard'
          
          var clone = snowLeopard.clone();
          alert(Ext.getClassName(clone));         // alerts 'My.SnowLeopard'
          alert(clone.groupName);                 // alerts 'Cat'
          
          alert(My.Cat.totalCreated);             // alerts 3
          

          Available since: 4.0.0

          Returns

          Ext.form.field.VTypes
          view source
          ( value ) : Boolean
          The function used to validate URLs ...

          The function used to validate URLs

          Available since: 1.1.0

          Parameters

          Returns

          • Boolean

            true if the RegExp test passed, and false if not.

          Defined By

          Static methods

          ( members ) : Ext.Basechainablestatic
          Add / override static properties of this class. ...

          Add / override static properties of this class.

          Ext.define('My.cool.Class', {
              ...
          });
          
          My.cool.Class.addStatics({
              someProperty: 'someValue',      // My.cool.Class.someProperty = 'someValue'
              method1: function() { ... },    // My.cool.Class.method1 = function() { ... };
              method2: function() { ... }     // My.cool.Class.method2 = function() { ... };
          });
          

          Available since: 4.0.2

          Parameters

          Returns

          ( fromClass, members ) : Ext.Basechainablestatic
          Borrow another class' members to the prototype of this class. ...

          Borrow another class' members to the prototype of this class.

          Ext.define('Bank', {
              money: '$$$',
              printMoney: function() {
                  alert('$$$$$$$');
              }
          });
          
          Ext.define('Thief', {
              ...
          });
          
          Thief.borrow(Bank, ['money', 'printMoney']);
          
          var steve = new Thief();
          
          alert(steve.money); // alerts '$$$'
          steve.printMoney(); // alerts '$$$$$$$'
          

          Available since: 4.0.2

          Parameters

          • fromClass : Ext.Base

            The class to borrow members from

          • members : String/String[]

            The names of the members to borrow

          Returns

          Create a new instance of this Class. ...

          Create a new instance of this Class.

          Ext.define('My.cool.Class', {
              ...
          });
          
          My.cool.Class.create({
              someConfig: true
          });
          

          All parameters are passed to the constructor of the class.

          Available since: 4.0.2

          Returns

          ( alias, origin )static
          Create aliases for existing prototype methods. ...

          Create aliases for existing prototype methods. Example:

          Ext.define('My.cool.Class', {
              method1: function() { ... },
              method2: function() { ... }
          });
          
          var test = new My.cool.Class();
          
          My.cool.Class.createAlias({
              method3: 'method1',
              method4: 'method2'
          });
          
          test.method3(); // test.method1()
          
          My.cool.Class.createAlias('method5', 'method3');
          
          test.method5(); // test.method3() -> test.method1()
          

          Available since: 4.0.2

          Parameters

          Get the current class' name in string format. ...

          Get the current class' name in string format.

          Ext.define('My.cool.Class', {
              constructor: function() {
                  alert(this.self.getName()); // alerts 'My.cool.Class'
              }
          });
          
          My.cool.Class.getName(); // 'My.cool.Class'
          

          Available since: 4.0.4

          Returns

          Add methods / properties to the prototype of this class. ...

          Add methods / properties to the prototype of this class.

          Ext.define('My.awesome.Cat', {
              constructor: function() {
                  ...
              }
          });
          
           My.awesome.Cat.implement({
               meow: function() {
                  alert('Meowww...');
               }
           });
          
           var kitty = new My.awesome.Cat;
           kitty.meow();
          

          Available since: 4.0.2

          Parameters

          ( members ) : Ext.Basechainablestatic
          Override prototype members of this class. ...

          Override prototype members of this class. Overridden methods can be invoked via callOverridden

          Ext.define('My.Cat', {
              constructor: function() {
                  alert("I'm a cat!");
          
                  return this;
              }
          });
          
          My.Cat.override({
              constructor: function() {
                  alert("I'm going to be a cat!");
          
                  var instance = this.callOverridden();
          
                  alert("Meeeeoooowwww");
          
                  return instance;
              }
          });
          
          var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
                                    // alerts "I'm a cat!"
                                    // alerts "Meeeeoooowwww"
          

          Available since: 4.0.2

          Parameters

          Returns