`

Extjs 表单验证

 
阅读更多

在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();
					}
					
				} 
			]
	
	});

});

 

 

 

分享到:
评论

相关推荐

    extjs表单验证特殊字符

    EXTJS表单验证主要依赖于`Ext.form.field.Base`组件,它是所有表单字段的基础类。每个表单字段都可以配置验证规则,通过`vtype`属性定义基本的验证类型,或者使用`validators`属性自定义验证函数。对于特殊字符的...

    Extjs验证表单 Extjs验证表单

    ### Extjs 表单验证详解 #### 一、引言 在现代Web开发中,确保用户输入的有效性和安全性至关重要。Extjs作为一种强大的JavaScript框架,提供了丰富的功能来帮助开发者轻松实现客户端验证。本文将深入探讨Extjs中的...

    Extjs表单常见验证小结

    总结来说,ExtJS表单验证提供了丰富的选项,从基础的空验证和简单的vtype验证,到自定义函数验证和正则表达式验证,几乎可以覆盖所有常见的验证需求。通过这些验证方式,开发者可以确保用户输入的数据既安全又符合...

    Extjs页面验证(修订版)

    1. **ExtJS表单验证**: - 表单是任何应用程序中的关键组成部分,尤其是涉及到用户输入数据时。ExtJS提供了一个强大的表单系统,可以方便地创建、管理并验证用户输入。 - 验证可以在客户端完成,这样可以立即向...

    ExtJS+Servlet表单验证和注册

    ExtJS的表单组件包括文本框、密码框、下拉列表、复选框、单选按钮等,支持复杂的表单验证,可以轻松实现前端的数据验证。 **Servlet简介** Servlet是Java中用于处理HTTP请求的服务端组件,常用于Web应用开发。它...

    ExtJs 动态添加表单

    表单验证是确保用户输入符合预设规则的关键部分。ExtJS提供内置的验证功能,可以在字段级别或表单级别设置验证规则。 在这个案例中,`importFormPanel.js`可能是实现这些功能的脚本文件。它可能包含了创建表单、...

    ExtJs获取表单元素的值

    下面将从几个方面展开讨论:ExtJs表单的基本概念、获取表单元素值的方法、实际应用中的技巧以及一些进阶用法。 ### 一、ExtJs表单的基本概念 ExtJs是一款基于JavaScript的开源前端框架,用于构建交互式的Web应用...

    ExtJs4.0 表单提交Demo

    在“ExtJs4.0 表单提交Demo”中,我们将深入探讨如何在ExtJs 4.0环境下,通过Ext Ajax模块实现表单的数据提交,同时实现显示层和控制层的分离,提升代码的可维护性和可扩展性。 1. **ExtJs 4.0 表单基础** ExtJs ...

    extjs动态表单

    ExtJS 动态表单是基于Sencha ExtJS框架实现的一种灵活、可扩展的表单设计方式,它允许开发者在运行时动态地创建、修改或加载表单组件,以适应不同场景下的数据输入需求。在Web应用开发中,动态表单通常用于处理不...

    如何提交Extjs 中的表单

    总的来说,提交ExtJS表单涉及前端的表单构建、事件监听以及后端的接收和处理。确保前后端通信的正确性,理解HTTP请求和响应的机制,以及熟悉ExtJS的API,都是实现这一功能的关键。通过以上步骤,你可以顺利地完成...

    extjs实现登陆验证

    3. **表单验证与提交**:在`subjectForm`函数中,使用`myform.getForm().isValid()`检查表单是否有效,如果有效,则通过`form.submit()`方法提交表单数据,设置等待消息、超时时间、成功和失败回调。成功回调会根据...

    Jquery、YUI、ExtJs 三大javascript框架表单验证带提示功能的demo

    本教程将深入探讨Jquery、YUI和ExtJs这三大JavaScript框架在表单验证和提示功能方面的应用。 **jQuery** jQuery是一款轻量级、高性能的JavaScript库,以其简洁的API和跨浏览器兼容性闻名。在表单验证方面,jQuery...

    表单验证+对话框+日期格式化+日期选择框+select美化js框架

    "表单验证+对话框+日期格式化+日期选择框+select美化js框架"这个主题涵盖了一些核心的技术点,它们都是构建高效、友好且功能丰富的前端应用不可或缺的部分。接下来,我们将深入探讨这些知识点。 1. 表单验证: ...

    ExtJs登陆验证(ASP后台)

    在登录验证场景中,ExtJs通常用于设计登录表单,包括输入框(用户名和密码)、提交按钮以及可能的错误提示区域。例如,可以使用`Ext.form.Panel`创建表单,`Ext.form.field.Text`定义文本输入字段,以及`Ext.Button`...

    EXT 表单验证EXT 表单验证

    通过阅读如"EXT 表单验证_journeylin_新浪博客.html"、"ExtJS中表单验证使用自定义vtype示例 - 芒果奶茶的日志 - 网易博客.mht"和"Ext表单验证 - 天行健的日志 - 网易博客.mht"这样的资源,你可以深入理解EXT表单...

    Extjs中常用表单介绍与应用

    本文将详细介绍ExtJS中常用表单组件的创建、应用以及验证和数据绑定等方面的知识,旨在帮助读者深入理解和掌握ExtJS表单的使用方法。 ### 表单面板(FormPanel)的创建 在ExtJS中,表单面板(FormPanel)是创建...

    Extjs表单中的通用组件

    在深入探讨Extjs表单中的通用组件之前,我们先简要了解一下Extjs。Extjs是一个用JavaScript编写的开源前端框架,用于构建复杂的企业级Web应用程序。它提供了丰富的UI组件库,使得开发者能够快速构建功能全面、外观...

    ExtJs 表单提交登陆实现代码

    首先,实现ExtJs表单提交和登录效果通常涉及以下几个步骤: 1. 在ExtJs子类中添加单击提交事件处理函数。这一过程涉及到使用ExtJs框架提供的事件监听机制,它允许开发者为特定组件绑定自定义事件处理逻辑。 在提供...

    Extjs页面验证

    首先,ExtJS提供了多种内置的验证方法和组件属性,例如`vtype`和`fieldValidator`,用于在用户提交表单前验证字段内容。`vtype`是预定义的验证类型,如邮箱、数字等,可以简单快速地设置字段的验证规则。例如,对于...

    这是有关extjs的例子,里面有各种表单的定义,grid的实现

    此外,表单还有验证功能,可以对用户输入的数据进行实时检查,确保其符合预设的规则。 Grid组件是ExtJS中的另一个核心组件,它用于展示大量的结构化数据。Grid可以包含多个列,每列都有自定义的头部和数据渲染器。...

Global site tag (gtag.js) - Google Analytics