<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
分享到:
相关推荐
通过这个修改后的`Ext.MessageBox.prompt`,开发者可以更安全地在ExtJS应用程序中实现密码输入功能,而无需自己编写复杂的加密和验证逻辑。这种封装和复用代码的方式是软件开发中的最佳实践,可以提高代码的可维护性...
7. **正则表达式**:在密码验证环节,Java中的正则表达式用于检查用户输入的密码是否符合特定规则,如必须包含数字、字母等。 8. **数据验证**:Struts2和Spring都有内置的验证框架,可以对用户输入的数据进行校验...
通过修改`base-color`配置,可以轻松地更改应用的主题风格,实现视觉上的定制。在本项目中,可能通过调整CSS变量来实现不同颜色方案的切换。 4. **登录页面**:登录页面是任何Web应用的基础,EXTJS提供了一套完整的...
系统会验证旧密码并确认新密码符合安全性要求,如包含大小写字母、数字和特殊字符。 5. **定时发送邮件**:系统具有自动发送邮件的功能,可以定期向用户发送提醒,例如论文提交截止日期、审核结果通知等。这需要...
在登录功能中,Spring可以用来处理用户认证逻辑,如从数据库加载用户信息,验证用户名和密码的正确性,并处理会话管理。 2. **Struts框架**:Struts是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,...
- **JDBC配置**:为了运行项目,你需要修改项目的jdbc配置文件,设置正确的数据库连接参数,包括URL、用户名和密码。 5. **运行项目**: - **项目结构**:项目导入后,需确保正确配置了Web容器(如Tomcat),并将...
5. 登录验证:使用Spring Security进行登录验证,判断用户名和密码是否正确,并生成会话(Session)信息。 6. 权限拦截:使用Spring Security或自定义拦截器,检查用户请求是否具有访问特定资源的权限。 项目中的...
表单提交事件可以触发Ajax请求,将用户输入的数据发送到服务器进行验证。 SSH框架中的Struts2负责控制器层,处理HTTP请求,将前端传来的数据映射到Action类中,然后调用相应的业务逻辑;Hibernate作为持久层框架,...
通过使用ExtJS的组件和功能,可以构建动态的用户界面,实现诸如表单验证、异步数据加载等高级功能。 ```html <script type="text/javascript" src="ext3/adapter/ext/ext-base.js"></script> ...
1. **用户认证**:首先,系统需要验证用户的身份,这通常通过登录表单完成,验证用户名和密码。成功后,服务器返回用户的角色信息。 2. **权限分配**:在用户认证成功后,根据用户的角色,服务器会返回该用户可以...
在ExtJS中,数据模型定义了对象的结构,包括字段和验证规则。例如,你可以创建一个用户模型,包含用户名、密码等字段。模型与后台数据库中的表字段相对应,是前端与后端交互的基础。 2. **Store(数据存储)** ...
EXTJS4提供了多种表单字段类型,如文本框、密码框、下拉列表等,且支持表单验证。表单的数据同样与store绑定,可以方便地进行数据提交和读取。 查询(Query)在EXTJS中通常涉及搜索和过滤数据。EXTJS4的grid和tree...
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 ...
在`account_manager`示例中,可能包含一个Account Model,用来定义账户相关的属性(如ID、用户名、密码等),并提供数据验证和数据绑定功能。通过定义模型,开发者可以方便地管理数据,进行CRUD(创建、读取、更新、...
在这里,管理员可以创建、修改和删除菜单项,设置菜单的层级关系,以及与角色权限的对应关系,确保用户只能看到和操作他们被授权的菜单项。 4. **单点登录(SSI)**:实现跨系统的身份验证,用户只需要登录一次,就...
- 添加/编辑书籍:使用ExtJS表单组件,Struts处理新增和修改操作,确保数据一致性。 - 权限控制:根据用户角色,限制访问特定功能,这部分通常由Struts的拦截器实现。 **总结** 通过ExtJS和Struts的结合,可以构建...
在实际应用中,用户认证通常涉及到用户注册、登录验证、密码加密等环节,确保只有合法用户才能访问系统资源。同时,系统可能还支持角色和权限管理,不同的用户角色对应不同的操作权限,如管理员可以进行图书的全面...
9. **自定义配置**:开发者可以根据需求对框架进行扩展和定制,比如添加新的组件、调整布局或更改默认样式。 总结来说,A013 Extjs FineUI通用权限框架结合了ExtJS的强大组件和FineUI的易用性,为开发者提供了一个...
例如,`beforesubmit`事件可以在表单提交前进行数据验证或修改,而`success`和`failure`事件则处理服务器响应,通常用于显示成功或错误信息。 三、表单数据绑定 EXTJS表单可以与模型(Model)进行数据绑定,模型...
Extjs提供了强大的主题功能,允许开发者轻松更改应用程序的整体外观和感觉。这通常通过修改CSS样式表和图像资源来实现。可以通过以下步骤更换主题: 1. **选择主题**:首先确定要使用的主题。Extjs提供了多种预设的...