首先说明一下表单验证与其相关的一些设置
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 : 'name' ,
allowBlank : false ,
msgTarget : 'qtip'
}
下面我们来看一下和表单验证相关的属性及他们验证的顺序
1、是否允许为空
allowBlank : Boolean //false则不能为空,默认为true
blankText : String//当为空时的错误提示信息
2、输入数据长度限制
minLength : Number
minLengthText : String
maxLength : Number
maxLengthText : String
3、使用vtype验证
vtype : String
vtypeText : String
extjs的vtype默认支持的验证有:
- alpha //只能输入字母,无法输入其他(如数字,特殊符号等)
- alphanum//只能输入字母和数字,无法输入其他
- email//email验证,要求的格式是"langsin@gmail.com"
- url//url格式验证,要求的格式是http://www.baidu.com
前面的验证都是extjs已经提供的,我们也可以自定义验证函数。
//先用Ext.apply方法添加自定义的password验证函数(也可以取其他的名字)
Ext.apply(Ext.form.VTypes, {
password : function(val, field) {// val指这里的文本框值,field指这个文本框组件,大家要明白这个意思
if (field.confirmTo) {// confirmTo是我们自定义的配置参数,一般用来保存另外的组件的id值
var pwd = Ext.get(field.confirmTo);// 取得confirmTo的那个id的值
return (val == pwd.getValue());
}
return true;
}
});
// 配置items参数
items : [{
fieldLabel : "密码",
id : "pass1"
}, {
fieldLabel : "确认密码",
id : "pass2",
vtype : "password",// 自定义的验证类型
vtypeText : "两次密码不一致!",
confirmTo : "pass1"// 要比较的另外一个的组件的id
}];
下面是自定义了年龄验证
//扩展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 //键盘输入时的校验
})
4、使用validator编写自定义函数验证
validator : Function
{
xtype : "numberfield",
fieldLabel : "高",
value : 150,
width : 48,
validator : function(value) {
if(value =='1'){
return '提示信息';
}
}
return true;
},
name : "height"
}
以下是自定义输入内容字节的验证
{
xtype : "field",
fieldLabel : "姓名",
value : 150,
width : 48,
validator : function(value) {
var length = value.replace(/[^\x00-\xff]/g, "xx").length;
if(length>1000){
return '长度不能超过1000个字节,一个汉字字符为两个字节!';
}
return true;
},
name : "name"
}
5、使用自己编写的正则表达式regex
regex : RegExp
regexText : String
new Ext.form.TextField({
fieldLabel : "姓名",
name : "author_nam",
regex : /[\u4e00-\u9fa5]/, //正则表达式在/...../之间. [\u4e00-\u9fa5] : 只能输入中文.
regexText:"只能输入中文!", //正则表达式错误提示
allowBlank : false //此验证依然有效.不许为空.
分享到:
相关推荐
此外还可以选择其他几种方式,例如“title”、“under”或“side”,甚至可以指定一个元素ID来作为提示目标。 #### 三、Extjs 验证方法 Extjs提供了多种内置验证方法以及自定义验证功能,使得开发者可以非常方便地...
ExtJS 动态表单是基于Sencha ExtJS框架实现的一种灵活、可扩展的表单设计方式,它允许开发者在运行时动态地创建、修改或加载表单组件,以适应不同场景下的数据输入需求。在Web应用开发中,动态表单通常用于处理不...
EXTJS的Model类定义了数据字段、验证规则以及数据操作方法,如load、save等。 2. **视图(View)**:这部分是用户界面,包括各种组件(如表格、表单、面板等),用来展示数据。EXTJS提供了丰富的组件库,允许开发者...
- **行选择模型**: 介绍了几种不同的行选择模型及其应用场景。 - **Grid视图**: 讲解了如何配置Grid视图,包括排序、过滤等功能。 #### GridPanel分页 当表格中的数据量较大时,分页功能就显得尤为重要。 - **...
8. **表单组件**:ExtJS 3.4.0 包含各种表单字段(如文本框、下拉列表、日期选择器等),以及表单验证和提交功能,使得创建交互式表单变得容易。 9. **数据存储**:提供了本地存储(Local Storage)和远程存储...
ExtJS是一种基于JavaScript的富客户端应用开发框架,它提供了丰富的组件和强大的数据处理能力,使得开发者可以构建功能复杂的Web应用程序。本压缩包包含了ExtJS 2.0和3.0两个版本的中文API文档,以及对应的中英文...
4. **ExtJS3.0**:前端部分,ExtJS提供了大量的UI组件,如表格、树形视图、表单等,以及强大的数据绑定机制。在Luogou项目中,这些组件被用来构建用户界面,与后端通过AJAX进行异步通信,实现了数据的动态加载和实时...
5. **表单组件**:ExtJS 3.0包含一系列强大的表单组件,如文本框(TextField)、复选框(Checkbox)、下拉列表(ComboBox)等,它们都支持验证和数据绑定。 6. **图表组件**:通过ExtJS的Charts模块,开发者可以...
ExtJS是一种基于JavaScript的开源富客户端框架,专用于构建交互式和桌面级的Web应用程序。在《ExtJS Web应用程序开发指南(第2版)》中,开发者可以深入了解如何利用这个强大的框架来创建功能丰富的Web应用。这本书...
这个控件通常用于表单中,提供了一种直观且用户友好的方式来输入或选择日期和时间。 描述中的"适用于ext3.0,打开index.html即可见效果"表明提供的压缩包包含了一个基于ExtJS 3.0的示例应用,其中`index.html`文件...
- **自定义行为**:可能需要扩展Spinner的默认行为,例如添加额外的验证规则或者实现特定的业务逻辑。 在学习这部分代码时,建议从以下几个步骤入手: 1. **阅读源码**:分析Spinner组件的源代码,理解其内部的...
【标题】:“asp.net与extjs开发点卡在线销售系统2019”是指使用Microsoft的ASP.NET框架和Sencha的EXTJS库构建的一个专门用于点卡在线销售的Web应用程序。这个系统允许用户购买、管理和追踪虚拟点卡,提供了一个方便...
EXTJS则是一种强大的JavaScript框架,用于构建富客户端的桌面式Web应用程序,其丰富的组件库和强大的数据管理能力使得前端界面设计更加便捷。 本项目基于WebSocket构建了一个企业级的WebIM系统,实现了在线实时通讯...
这涉及到前后端的交互,前端通过ExtJS的表单组件收集用户输入,后端通过SQL Server 2000验证用户身份。 2. **好友系统**:用户需要添加好友才能进行私聊。这需要在数据库中维护一个好友关系表,存储用户之间的关系...
- 添加/编辑书籍:使用ExtJS表单组件,Struts处理新增和修改操作,确保数据一致性。 - 权限控制:根据用户角色,限制访问特定功能,这部分通常由Struts的拦截器实现。 **总结** 通过ExtJS和Struts的结合,可以构建...
2. **EXTJS表单封装类**:EXTJS提供了强大的表单处理能力,能够方便地创建、读取和提交表单数据。表单封装类可以帮助开发者简化代码,提高代码复用性,使得表单的创建和验证变得更加容易。 3. **JSON数据交互**:在...
EXTJS是一种基于JavaScript的UI框架,它源自JAVASCRIPT,致力于提供丰富的Web2.0用户体验。EXTJS的核心特点是利用CSS来控制DIV元素,从而创建出具有高度交互性和良好视觉效果的网页应用。EXTJS充分利用AJAX技术,...
8. **验证与授权**:ASP.NET MVC 提供了内置的验证和身份认证机制,如DataAnnotations验证和FormsAuthentication,与ExtJS的表单验证相结合,可以确保数据的安全性和用户访问权限的控制。 9. **部署与性能优化**:...
EXTJS是一种基于JavaScript的开源富客户端框架,专用于构建企业级的Web应用程序。EXTJS以其强大的组件模型、数据绑定机制和丰富的用户界面组件而闻名,它使得开发者能够创建功能丰富的、交互性强的Web应用。 EXTJS...