Join Virtual JavaScript Days 2026 and Get a Free Participation Certificate – Register Now!

Creating an Ext JS Login/Registration Form in 3 Easy Steps

April 21, 2020 5339 Views

Get a summary of this article:

Show

ExtJS includes form components that allow you to quickly and easily create fully functional and validated forms. In this example, we show how to create a login/registration form with the following features in minutes using the Ext Js Javascript Web Framework, which will greatly assist you in developing HTML5 applications.

  • Adding textfield, numberfield, datefield
  • Adding form validation (email, password…)
  • Displaying form error messages
  • Resetting values
  • Processing form values

Login Form

A simple example demonstrating how to create a login form.
example

Step 1: Create form configuration

{
	xtype: 'formpanel',
	title: 'Form login example',
 
	bodyPadding: 20,
	width: 500,
 
	bbar: ['->',{
    	   text: 'Login',
    	   handler: 'onLogin'
	}],
 
	items: [{
    	   xtype: 'textfield',
    	   label: 'User ID',
    	   name: 'user',
    	   placeholder: 'user id',
	}, {
    	xtype: 'passwordfield',
    	   label: 'Password',
    	   name: 'pass',
    	   placeholder: 'password'
	}, {
    	   xtype: 'checkbox',
    	   boxLabel: 'Remember me',
    	   name: 'remember'
	}]
}

Step 2: Add form validation

        //Required field
        allowBlank: false,
        required: true,
        //Custom validator
        validators: function (value) {
	return /^[a-zA-Z]{8,}$/.test(value) ? true : 'Your password must contain at least 8 characters';
}

Step 3: Display error messages

errorTip: {
	anchor: true,
	align: 'l-r?'
},
errorTarget: 'under'

Sencha Fiddle:

Registration Form

A simple example of a registration form with field mask, email validation or selectfield.

registration

Step 1: Email validation

{
    xtype: 'emailfield',
    label: 'Email',
    name: 'email',
    allowBlank: false,
    required: true,
    //Email validation
    validators: 'email',
    errorTip: {
        anchor: true,
        align: 'l-r?'
    },
    errorTarget: 'under'
}

Step 2: Field Mask

{
    //Field mask
    label: 'Phone Number',
    name: 'phone',
    inputType: 'tel',
    autoComplete: true,
    autoHideInputMask: false,
    inputMask: '(999) 999-9999'
}

Step 3: Selectfield

{
	//Multiple selection
	xtype: 'selectfield',
	label: 'Skills',
	name: 'skills',
	multiSelect: true,
	autoSelect: false,
	clearable: true,
	options: [
    	'ExtJS',
    	'Javascript',
    	'CSS',
    	'Git',
    	'Java',
    	'PHP',
    	'COBOL',
    	'Node.js',
    	'JSON',
    	'HTML5',
    	'RIA',
    	'OOP',
    	'Scrum',
    	'REST',
    	'MVC'
	],
	chipView: {
    	plugins: {
            dataviewtip: {
                align: 'tl-br',
                constrainToView: false,
                delegate: '.x-close-el',
                allowOver: true,
                anchor: false,
                anchorToTarget: false,
                bind: '{record}',
                tpl: 'Remove skill {text}'
            }
    	}
	}
}

Sencha Fiddle:

 

Want more? Get hands on with all of our form components in the Kitchen Sink.

kitchensink

Try Ext JS 7.2

Packed with many enhancements, the newly released Ext JS version 7.2 is the perfect way to jumpstart your app development. If you haven’t already, try the 30-day fully-featured free trial of Ext JS—a robust framework, with 140+ components and many tools (Themer, Architect, Stencils, plugins and more) to create professional looking data-intensive apps.

Recommended Articles

Building Responsive, Data-Driven Enterprise Applications with JavaScript

In enterprise software, responsiveness is no longer a nice-to-have. Users expect the same application to perform smoothly whether they are working at a desktop with…

What’s New in ReExt 1.2

Modern teams are under constant pressure to ship faster without sacrificing UX quality, maintainability, or enterprise-grade capabilities. That’s easy to say, but much harder to…

BFF Architecture – Optimizing Communication between Node. js and Ext JS

Modern enterprise applications rarely struggle because they lack features. More often, they struggle because the frontend and backend are speaking slightly different languages. Your database…

Case Study: Building a Modern Recruitment Application with Ext JS

Hiring the right talent requires more than collecting resumes. Modern recruitment teams need streamlined workflows, real-time visibility, and reliable tools that support every stage of…

Techniques for Handling Large Data Sets in Ext JS

Enterprise applications often need to display and process thousands – or even millions – of records while maintaining a responsive and intuitive user experience. Whether…

Building an AI-Powered School Grading System with Ext JS

Educational institutions are under increasing pressure to evaluate growing numbers of student assessments while maintaining fairness, consistency, and timely feedback. Although artificial intelligence offers new…

View More
JS Days Popup