在Extjs中,FormPane表单提供了各种各样的验证,先总结一下
在讲解表单验证前需要说一下和其相关的一下设置
//在onReady的function({})添加以下两行代码,
Ext.QuickTips.init(); //为组件提供提示信息功能,form的主要提示信息就是客户端验证的错误信息。
Ext.form.Field.prototype.msgTarget='side'; //指示错误出现的方式,包含的值为
qtip-当鼠标移动到控件上面时显示提示 //默认值为qtip,使用此种方式必须声明Ext.QuickTips.init(); 进行初始化
title-在浏览器的标题显示
under-在控件的底下显示错误提示
side-在控件右边显示一个错误图标,鼠标指向图标时显示错误提示. 默认值.
id-[element id]错误提示显示在指定id的HTML元件中
表单项的显示错误的方式也可以修改各项的msgTarget属性
例如:
{
xtype : 'textfield',
fieldLabel : '编号' ,
name : 'id' ,
allowBlank : false ,
msgTarget : 'qtip'
}
上面说了下和表单验证相关的一些设置,我们现在来看一下和表单验证相关的属性及他们验证的顺序
1。和表单验证相关的熟悉及验证顺序(注意我们只说一些常用的,其他的情况属性请看相关的API)
1.1是否为空
allowBlank : Boolean
blankText : String
1.2输入数据长度限制
minLength : Number
minLengthText : String
maxLength : Number
maxLengthText : String
1.3使用vtype验证
vtype : String
vtypeText : String
1.4使用validator编写自定义函数验证
validator : Function
1.5使用自己编写的正则表达式regex
regex : RegExp
regexText : String
从上面可以看出Extjs提供了相当灵活的验证方式,并且提供了从简单到复杂的验证,可以根据项目的具体需要而进行选择使用那些验证方式
根据本人的爱好,更喜欢使用vtype验证,在Ext.form.VTypes中提供了几个常用的验证方式,在表单中只需要写下vtype:'email',即可进行email信息的验证,而不需要写一大堆的正则表达式和相应的错误提示信息。如果Ext.form.VTypes默认的选项不能满足用户的需求,还可以进行扩展,当业务逻辑发生变化时只需要修改一处即可。
下面代码是扩展Ext.form.VTypes方式,希望启动抛砖引玉作用
//扩展VTypes增加id验证方式,和年龄验证
Ext.apply(Ext.form.VTypes,{
'age' : function(_v){
if(/^\d+$/.test(_v)){//判断必须是数字
var _age = parseInt(_v);
//增加业务逻辑,小于100的数字才符合年龄
if(0 < _age && _age <100){
return true ;
}
}
return false ;
},
ageText : '年龄必须为数字,并且不能超过100岁,格式为23' , //出错信息后的默认提示信息
ageMask:/[0-9]/i //键盘输入时的校验
})
Ext.onReady(function(){
Ext.QuickTips.init(); //为组件提供提示信息功能,form的主要提示信息就是客户端验证的错误信息。
Ext.form.Field.prototype.msgTarget='side';
var form = new Ext.form.FormPanel({
frame : true ,
defaultType : 'textfield' ,
buttonAlign : 'center' ,
labelAlign : 'right' ,
labelWidth : 70 ,
items : [
{
xtype : 'textfield',
fieldLabel : '编号' ,
name : 'id' ,
allowBlank : false ,
msgTarget : 'qtip'
},
{
fieldLabel : '名称' ,
name : 'name' ,
regex : /[\u4e00-\u9fa5]/, //正则表达式在/...../之间. [\u4e00-\u9fa5] : 只能输入中文.
regexText:"只能输入中文!", //正则表达式错误提示
allowBlank : false //此验证依然有效.不许为空.
},{
fieldLabel : '年龄' ,
name : 'age',
allowBlank : false ,
/*
minLength : 1 ,
minText: '最少输入1位数字',
maxLength : 3 ,
minText: '最多输入3位数字',
*/
vtype : 'age'//,
//vtypeText : '覆盖age默认的错误提示'
}
] ,
buttons : [
{
text : '确定' ,
handler : function(){
form.getForm().isValid();
}
}
]
});
});
分享到:
相关推荐
FormPanel 是 ExtJS 中的一个核心组件,用于创建和处理表单元素,包括输入字段、按钮、选择框等。它提供了丰富的功能,如数据验证、远程提交、异步加载等,是构建用户交互界面的关键部分。 在ExtJS中,FormPanel是...
ExtJs 4.0 提供了多种类型的表单字段,如文本输入框、密码框、选择框等,以及表单容器,如Panel、FormPanel。这些组件允许开发者创建复杂且功能完备的表单。表单字段可以通过配置项定义,包括字段类型、验证规则、...
ExtJS提供内置的验证功能,可以在字段级别或表单级别设置验证规则。 在这个案例中,`importFormPanel.js`可能是实现这些功能的脚本文件。它可能包含了创建表单、动态添加和删除字段的逻辑,以及与服务器通信的代码...
在本篇文章中,我们将深入探讨如何使用Extjs4中的FormPanel组件从后台加载JSON数据,并将其映射到表单的各个字段中进行显示。这是一项非常实用的技术,尤其是在需要动态填充表单的情况下。 ### 一、Extjs4 ...
FormPanel不仅提供了一种布局管理方式,还支持各种表单元素,如文本框、复选框、下拉列表等,并且内置了数据验证功能。然而,在实际开发过程中,我们可能会遇到需要动态添加组件到FormPanel中的需求,这就会带来一些...
总的来说,提交ExtJS表单涉及前端的表单构建、事件监听以及后端的接收和处理。确保前后端通信的正确性,理解HTTP请求和响应的机制,以及熟悉ExtJS的API,都是实现这一功能的关键。通过以上步骤,你可以顺利地完成...
本文将详细介绍ExtJS中常用表单组件的创建、应用以及验证和数据绑定等方面的知识,旨在帮助读者深入理解和掌握ExtJS表单的使用方法。 ### 表单面板(FormPanel)的创建 在ExtJS中,表单面板(FormPanel)是创建...
Extjs对分页、表单验证、表单组件的布局与初始化都提供了详细的指导,使得表单元素的开发更加高效。 表格组件GridPanel是Extjs中的亮点之一,它不仅可以展示大量数据,还支持复杂的列模型和行操作。此外,GridPanel...
`FormPanel`是Ext JS框架中的一个重要组件,主要用于构建复杂的表单界面。它提供了丰富的功能,如数据验证、数据提交以及灵活的布局控制等,使得开发者能够轻松地创建出既美观又实用的用户输入界面。 #### 创建...
在EXTJS4中,FormPanel是一个非常重要的组件,用于创建包含表单元素的用户界面。在某些场景下,我们可能需要一个FormPanel实例能够根据不同的情况提交到不同的URL。这个问题可以通过灵活地设置和操作FormPanel及其...
在ExtJS中,FormPanel提供了丰富的功能,如数据验证、表单提交以及与服务器端的数据交互。 1. **FormPanel基本结构**:FormPanel由多个字段(Field)组成,如文本框、复选框、下拉列表等。每个字段都有其特定的配置...
Ext.FormPanel是EXTJS中用于创建表单的组件,可以方便地进行动态编辑和验证。前端代码定义了FormPanel,并在用户提交表单时,利用Ext.AJAX发送请求。与HTML form表单不同,Ext.FormPanel提供了更高级的表单管理功能...
6. **表单组件**:ExtJS的FormPanel提供了丰富的表单元素,如文本框、下拉框、复选框等,并支持验证、提交等功能,使得创建复杂的表单变得轻松。 7. **图表组件**:虽然ExtJS 2.1的图表功能相对较弱,但仍然提供了...
总结起来,Sencha ExtJS 提供了强大的表单构建工具,使得创建交互式的、具有验证功能的 Web 表单变得简单。通过理解表单组件、布局、验证规则以及表单提交机制,开发者可以构建出满足各种需求的复杂表单应用。在 `...
在CRUD场景中,ExtJS的Grid组件常用于显示数据,FormPanel用于编辑,TreePanel用于展现层次结构,同时支持异步刷新和远程数据绑定,通过Ajax与后端进行通信。 在描述中提到的JSON格式,是一种轻量级的数据交换格式...
在这个事件处理函数中,可以调用FormPanel的submit方法,将表单数据发送到C#后端服务器进行验证。 C#后端通常会提供一个API接口,例如ASP.NET MVC或Web API,接收并处理这些登录请求。服务器端的代码会检查输入的...
首先,创建EXTJS表单通常涉及到以下步骤: 1. **定义表单组件**:使用`Ext.form.Panel`创建表单,定义字段如文本框、下拉框等,每个字段都有相应的ID和配置项。 2. **配置表单行为**:为表单添加提交按钮,并设置`...
var fset = new Ext.FormPanel({ title:"学习表单字段元素的字段集", width:600, height:400, frame:true, renderTo:"myForm", items:[ {xtype:"fieldset", width:500, labelAlign:"right", labelWidth:...
- **表单组件验证**: 详细讲解了如何对表单组件进行数据验证。 #### FormPanel布局与初始化 合理的布局可以使表单更加美观易用,初始化则确保了表单的初始状态符合预期。 - **布局概述**: 强调了布局在表单设计中...