`
琉璃月
  • 浏览: 44774 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

extjs 修改密码验证

阅读更多
<script type="text/javascript">
    	//修改密码
    	function modifyPwd(){
    		Ext.QuickTips.init();
            Ext.form.Field.prototype.msgTarget = 'title';

			Ext.apply(Ext.form.VTypes, {
     			repetition: function(val, field) {     //返回true,则验证通过,否则验证失败
         			if (field.repetition) {               //如果表单有使用repetition配置,repetition配置是一个JSON对象,该对象提供了一个名为targetCmpId的字段,该字段指定了需要进行比较的另一个组件ID。
             			var cmp = Ext.getCmp(field.repetition.targetCmpId);   //通过targetCmpId的字段查找组件
             			if (Ext.isEmpty(cmp)) {      //如果组件(表单)不存在,提示错误
                 			Ext.MessageBox.show({
                    			title: '错误',
                     			msg: '发生异常错误,指定的组件未找到',
                     			icon: Ext.Msg.ERROR,
                     			buttons: Ext.Msg.OK
                 			});
                			return false;
             			}
             			if (val == cmp.getValue()) {  //取得目标组件(表单)的值,与宿主表单的值进行比较。
                 			return true;
            			} else {
                 			return false;
             		    }
        	  		}
     		 	},
				repetitionText: '新密码和确认密码必须一致!'
 			}) 
    		var modifyPwdWin = new Ext.Window( {
	            layout : 'fit',
	            width : 400,
	            height : 180,
	            resizable:false,
	            closeAction : 'hide',
	            plain : true,
	            title : '修改密码',
	            modal:true, 
	            items : new Ext.FormPanel({
	            	labelWidth : 55,
	            	frame : true,
	            	nocache : true,
	    			bodyStyle : 'padding:5px 5px 0',
	    			width : 390,
	    			waitMsgTarget : true,
	    			defaults : {
	       				width : 230,
	       				allowBlank:false,
	       				msgTarget:'title',  
             			minLength:4,  
             			minLengthText:'密码不能少于4位',  
            		    maxLength:10,  
             			maxLengthText:'密码不能超过10位'
	   				},
	   				defaultType : 'textfield',
	   				items:[{
	   					fieldLabel : '旧密码',
	   					id:'oldPwd',
	        			name : 'oldPwd',
	        			inputType:"password",
	        			blankText:'密码不能为空'
	   				},{
	   					fieldLabel : '新密码',
	   					id:'newPwd',
	        			name : 'newPwd',
	        			inputType:"password",
	        			blankText:'密码不能为空'
	   				},{
	   					fieldLabel : '确认密码',
	   					id:'verifyPwd',
	       				name : 'verifyPwd',
	       				inputType:"password",
	       				blankText:'密码不能为空',
	        			[color=red]vtype: 'repetition',  //指定repetition验证类型
                      	repetition: { targetCmpId: 'newPwd' }  //配置repetition验证,提供目标组件(表单)ID [/color]
	   				}]
	            }),
	            buttonAlign:'center',
	            buttons : [ {
	                text : '确定',
	                disabled : false,
	                handler : function() {
	                	var oldPwd = Ext.get('oldPwd').dom.value;
	                	var newPwd = Ext.get('newPwd').dom.value;
	                	var verifyPwd = Ext.get('verifyPwd').dom.value;
                		Ext.Ajax.request({
                			url:'../login/modifyPwd',
                			params:{newPwd:newPwd,oldPwd:oldPwd},
                			success:function(response,option){
                				var respText = Ext.util.JSON.decode(response.responseText); 
                				var flag = respText.success;
                				var errorMsg = respText.errors;
                				if(flag){
                					Ext.Msg.alert("信息提示","密码修改成功!");
                					modifyPwdWin.hide();
                				}else{
                					Ext.Msg.alert("信息提示","密码修改失败,旧密码和数据库中密码必须一致!");
                				}
                			},
                			failure:function(response,option){
                				Ext.Msg.alert("信息提示","密码修改失败!");
                			}
                		});
	                }
	            }, {
	                text : '取消',
	                handler : function() {
	                	modifyPwdWin.hide();
	                }
	            }]
	        });
	        modifyPwdWin.show();
	    }   
    </script>

    修改密码时需要判断新密码和确认密码是否一致,需要重写ext的vtype
分享到:
评论

相关推荐

    ExtJS弹出密码输入框的js文件

    通过这个修改后的`Ext.MessageBox.prompt`,开发者可以更安全地在ExtJS应用程序中实现密码输入功能,而无需自己编写复杂的加密和验证逻辑。这种封装和复用代码的方式是软件开发中的最佳实践,可以提高代码的可维护性...

    Struts2.18+Spring2.56+Hibernate3+Extjs+JSON实现登陆修改密码等

    7. **正则表达式**:在密码验证环节,Java中的正则表达式用于检查用户输入的密码是否符合特定规则,如必须包含数字、字母等。 8. **数据验证**:Struts2和Spring都有内置的验证框架,可以对用户输入的数据进行校验...

    extjs6.6框架的web项目(登录+首页)

    通过修改`base-color`配置,可以轻松地更改应用的主题风格,实现视觉上的定制。在本项目中,可能通过调整CSS变量来实现不同颜色方案的切换。 4. **登录页面**:登录页面是任何Web应用的基础,EXTJS提供了一套完整的...

    ExtJs与C#做的简易毕业设计论文管理系统

    系统会验证旧密码并确认新密码符合安全性要求,如包含大小写字母、数字和特殊字符。 5. **定时发送邮件**:系统具有自动发送邮件的功能,可以定期向用户发送提醒,例如论文提交截止日期、审核结果通知等。这需要...

    ssh整合实现登录的例子,包含源代码,用extjs做的登录界面

    在登录功能中,Spring可以用来处理用户认证逻辑,如从数据库加载用户信息,验证用户名和密码的正确性,并处理会话管理。 2. **Struts框架**:Struts是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,...

    springmvc3+extjs4.2案例

    - **JDBC配置**:为了运行项目,你需要修改项目的jdbc配置文件,设置正确的数据库连接参数,包括URL、用户名和密码。 5. **运行项目**: - **项目结构**:项目导入后,需确保正确配置了Web容器(如Tomcat),并将...

    springmvc+extjs4mvc实现权限管理

    5. 登录验证:使用Spring Security进行登录验证,判断用户名和密码是否正确,并生成会话(Session)信息。 6. 权限拦截:使用Spring Security或自定义拦截器,检查用户请求是否具有访问特定资源的权限。 项目中的...

    结合EXTJS和SSH简单实现登录

    表单提交事件可以触发Ajax请求,将用户输入的数据发送到服务器进行验证。 SSH框架中的Struts2负责控制器层,处理HTTP请求,将前端传来的数据映射到Action类中,然后调用相应的业务逻辑;Hibernate作为持久层框架,...

    extjs+s2页面跳转

    通过使用ExtJS的组件和功能,可以构建动态的用户界面,实现诸如表单验证、异步数据加载等高级功能。 ```html &lt;script type="text/javascript" src="ext3/adapter/ext/ext-base.js"&gt;&lt;/script&gt; ...

    Extjs4.1 系统框架 集成权限操作流程和页面

    1. **用户认证**:首先,系统需要验证用户的身份,这通常通过登录表单完成,验证用户名和密码。成功后,服务器返回用户的角色信息。 2. **权限分配**:在用户认证成功后,根据用户的角色,服务器会返回该用户可以...

    Extjs和后台数据库交互的程序,增删改查

    在ExtJS中,数据模型定义了对象的结构,包括字段和验证规则。例如,你可以创建一个用户模型,包含用户名、密码等字段。模型与后台数据库中的表字段相对应,是前端与后端交互的基础。 2. **Store(数据存储)** ...

    实现extjs4 的树、grid、form、query等大部分组件的功能

    EXTJS4提供了多种表单字段类型,如文本框、密码框、下拉列表等,且支持表单验证。表单的数据同样与store绑定,可以方便地进行数据提交和读取。 查询(Query)在EXTJS中通常涉及搜索和过滤数据。EXTJS4的grid和tree...

    精通JS脚本之ExtJS框架.part2.rar

    12.3.2 Ajax修改用户密码 12.3.3 自动保存的网络记事本 12.3.4 网页计算器 第13章 设计数据驱动模式 13.1 XML/JSON数据格式比较 13.2 容器类MixedCollection 13.3 数据存储基本单元Record与dataField 13.3.1 ...

    ExtJS MVC示例

    在`account_manager`示例中,可能包含一个Account Model,用来定义账户相关的属性(如ID、用户名、密码等),并提供数据验证和数据绑定功能。通过定义模型,开发者可以方便地管理数据,进行CRUD(创建、读取、更新、...

    extjs4-ssi

    在这里,管理员可以创建、修改和删除菜单项,设置菜单的层级关系,以及与角色权限的对应关系,确保用户只能看到和操作他们被授权的菜单项。 4. **单点登录(SSI)**:实现跨系统的身份验证,用户只需要登录一次,就...

    Extjs结合Struts版的简单书籍管理系统

    - 添加/编辑书籍:使用ExtJS表单组件,Struts处理新增和修改操作,确保数据一致性。 - 权限控制:根据用户角色,限制访问特定功能,这部分通常由Struts的拦截器实现。 **总结** 通过ExtJS和Struts的结合,可以构建...

    extjs图书管理系统MySQL版

    在实际应用中,用户认证通常涉及到用户注册、登录验证、密码加密等环节,确保只有合法用户才能访问系统资源。同时,系统可能还支持角色和权限管理,不同的用户角色对应不同的操作权限,如管理员可以进行图书的全面...

    A013 Extjs FineUI通用权限框架

    9. **自定义配置**:开发者可以根据需求对框架进行扩展和定制,比如添加新的组件、调整布局或更改默认样式。 总结来说,A013 Extjs FineUI通用权限框架结合了ExtJS的强大组件和FineUI的易用性,为开发者提供了一个...

    learning extjs 中文版 表单提交

    例如,`beforesubmit`事件可以在表单提交前进行数据验证或修改,而`success`和`failure`事件则处理服务器响应,通常用于显示成功或错误信息。 三、表单数据绑定 EXTJS表单可以与模型(Model)进行数据绑定,模型...

    Extjs帮助文档.pdf

    Extjs提供了强大的主题功能,允许开发者轻松更改应用程序的整体外观和感觉。这通常通过修改CSS样式表和图像资源来实现。可以通过以下步骤更换主题: 1. **选择主题**:首先确定要使用的主题。Extjs提供了多种预设的...

Global site tag (gtag.js) - Google Analytics