Common validation summaries for Extjs forms

  • 2020-03-30 02:18:42
  • OfStack

 
//In the onReady function(){}
Ext.QuickTips.init(); //The main prompt message for the component is the error message for the client validation.
Ext.form.Field.prototype.msgTarget='side'; //Prompt mode, the enumeration value is:

Qtip - displays a prompt when the mouse moves over the control;
Title - displays in the browser title, but the test result is the same as qtip;
Under - displays an error message under the control;
Side - displays an error icon on the right side of the control and displays an error when the mouse points to the icon.
An id-[element id] error is displayed in the HTML element with the specified id

1. The simplest example: null validation
 
//Two arguments for null validation
allowBlank:false//False cannot be null and defaults to true
blankText:string//Error message when null

Js code is:
 
var form1 = new Ext.form.FormPanel({ 
width:350, 
renderTo:"form1", 
title:"FormPanel", 
defaults:{xtype:"textfield",inputType:"password"}, 
items:[ 
{fieldLabel:" Can't be empty ", 
allowBlank:false, //Not allowed to be empty
blankText:" Can't be empty ", //Error message, default to This field is required!
id:"blanktest", 
} 
] 
}); 

2. Use vtype format for simple validation.
In the example of this mail validation, rewrite the above code for the items configuration:
 
items:[ 
{fieldLabel:" Can't be empty ", 
vtype:"email",//Email format validation
vtypeText:" Not a valid email address ",//Error message, default value I will not say
id:"blanktest", 
anchor:"90%" 
} 
 You can modify the above vtype For the following extjs the vtype Verification supported by default:  
//The default supported type for vtype in form validation

1. Alpha // can only input letters, other (such as Numbers, special symbols, etc.) cannot be input.
Alphanum // can only input letters and Numbers, not anything else
3. Email //email verification, the required format is ""
4. Url //url format validation, the required format is http://www.baidu.com

3. Advanced custom password verification
The previous validation is already provided by extjs, and we can also customize the validation function.
 
//Add the custom password validation function with the ext.apply method (you can also call it something else)
Ext.apply(Ext.form.VTypes,{ 
password:function(val,field){//Val is the textbox value, and field is the textbox component
if(field.confirmTo){//ConfirmTo is our custom configuration parameter that is used to hold the id values of other components
var pwd=Ext.get(field.confirmTo);//Gets the value of the id of confirmTo
return (val==pwd.getValue()); 
} 
return true; 
} 
}); 
//Configure the items parameter
items:[{fieldLabel:" password ", 
id:"pass1", 
},{ 
fieldLabel:" Confirm password ", 
id:"pass2", 
vtype:"password",//Custom validation type
vtypeText:" The two passwords don't match! ", 
confirmTo:"pass1",//The id of the other component to compare
} 

4. Use regular expression validation
 
new Ext.form.TextField({ 
fieldLabel : " The name ", 
name : "author_nam", 
regex : /[u4e00-u9fa5]/, //Regular expressions in /... [u4e00-u9fa5] : Chinese only.
regexText:" Chinese only !", //Regular expression error
allowBlank : false //This validation is still valid. It cannot be null.

Related articles: