//修改密码(直接在validate中验证提交)
$("#changePassword").on(ace.click_event, function() {
var html = "";
html += "<div class='changePw'><h1>修改密码</h1></div>";
html += "<div class='row'><div class='col-xs-12'><form name='edit-password' class='form-horizontal' role='form'>";
html += "<div class='form-group'><label class='col-sm-3 control-label no-padding-right'> 用户名 </label>";
html += "<div class='col-sm-9 userName'>${userMsg.userName}";
html += "</div></div>";
html += "<div class='form-group'><label class='col-sm-3 control-label no-padding-right' for='form-field-1'> 旧密码 </label>";
html += "<div class='col-sm-9'><input id='form-field-1' name='oldPassword' placeholder='旧密码' class='col-xs-10' type='password'>";
html += "</div></div>";
html += "<div class='form-group'><label class='col-sm-3 control-label no-padding-right' for='form-field-2'> 新密码 </label>";
html += "<div class='col-sm-9'><input id='form-field-2' name='password' placeholder='新密码' class='col-xs-10' type='password'>";
html += "</div></div>";
html += "<div class='form-group'><label class='col-sm-3 control-label no-padding-right' for='form-field-3'> 确认新密码 </label>";
html += "<div class='col-sm-9'><input id='form-field-3' name='rePassword' placeholder='确认新密码' class='col-xs-10' type='password'>";
html += "</div></div>";
html += "<div class='clearfix'><div class='col-md-offset-3 col-md-9'>";
html += "<button class='btn btn-info' type='submit'><i class='ace-icon fa fa-check bigger-110'></i>修改密码</button></div></div>";
html += "</form></div></div>";
bootbox.dialog({
message: html
});
/*表单验证 */
$("form[name='edit-password']").validate({
rules: {
oldPassword: {
required: true
},
password: {
required: true
},
rePassword: {
required: true,
equalTo: 'form[name="edit-password"] input[name="password"]'
}
},
messages: {
oldPassword: {
required: '旧的密码必须填写',
},
password: {
required: '新的密码必须填写'
},
rePassword: {
required: '确认密码必须填写',
equalTo: '两次密码输入不一致,请重新输入'
}
},
submitHandler: function (form) {
var $form = $(form);
console.log( $form.serializeArray());
$.ajax({
type: "POST",
url: 'admin/user/updatePassWord',
data: $form.serializeArray(),
beforeSend: function () {
$form.find(':submit').prop('disabled', true);
},
success: function (json) {
if(json.errmsg == 1) {
swal({
title: "旧密码不正确",
html: false,
text: "请重新输入旧密码",
type: "error",
showCancelButton: false,
confirmButtonText: "确定",
closeOnConfirm: true
})
return;
}
swal({
title: "修改成功",
html: false,
text: "密码修改成功,下次登录将使用新的密码",
type: "success",
showCancelButton: false,
confirmButtonText: "确定",
closeOnConfirm: true
}).then(function () {
window.location.href = "admin/index?"+Math.random();
});
},
complete: function () {
$form.find(':submit').prop('disabled', false);
}
});
}
});
});
//第二种方法   不提交先验证   在ifram外面验证
$(function() {
/*表单验证 */
$("form[name='edit-password']").validate({
rules: {
oldPassword: {
required: true
},
password: {
required: true
},
rePassword: {
required: true,
equalTo: 'form[name="edit-password"] input[name="password"]'
}
},
messages: {
oldPassword: {
required: '旧的密码必须填写',
},
password: {
required: '新的密码必须填写'
},
rePassword: {
required: '确认密码必须填写',
equalTo: '两次密码输入不一致,请重新输入'
}
}
});
}); //数据提交
function getSubmitData(){
var rtnTag = "none";
var $form = $("form[name='edit-password']");
if($form.valid()){
$.ajax({
type : "POST",
url : 'admin/user/updatePassWord',
data : $form.serialize(),
async: false,
success : function(json) {
rtnTag = json.errmsg;
}
});
}
return rtnTag;
} //ifram框架 加bootbox插件
//修改密码
function changePassword(){ bootbox.confirm({
title: '<i class="ace-icon fa fa-key"></i> 修改密码',
message: '<iframe id="changePW" src="${ctx}/admin/user/getResetPassWord" frameborder="no" border="0" style="width: 100%; min-height: 256px;"></iframe>',
buttons: {
confirm: {
label: '<i class="fa fa-check"></i> 修改密码'
},
cancel: {
label: '<i class="fa fa-times"></i> 取消'
}
},
callback: function (result) {
var $fhBtn = $(".modal-footer").find(".btn-primary");
if (result){
$fhBtn.prop('disabled', false);
var rtnTag = $("#changePW")[0].contentWindow.getSubmitData(); //取到ifram内部方法
if(rtnTag=="none"){
return false;
}else if(rtnTag=="1"){
bootbox.alert({title: "新旧密码一致",message: "请输入与旧密码不一致的新密码",size: 'small'});
var $okBtn = $(".modal-footer").find("button[type='button']");
$okBtn.html("确定");
return false;
}else if(rtnTag=="2"){
bootbox.alert({title: "旧密码不正确",message: "请重新输入旧密码",size: 'small'});
var $okBtn = $(".modal-footer").find("button[type='button']");
$okBtn.html("确定");
return false;
}else {
bootbox.alert({title: "修改成功",message: "密码修改成功,下次登录将使用新的密码",size: 'small'});
var $okBtn = $(".modal-footer").find("button[type='button']");
$okBtn.html("确定");
}
$fhBtn.prop('disabled', true);
}
}
});
var $fhBtn = $(".modal-footer").find(".btn-default");
$fhBtn.css({"float":"right", "margin-left":"10px"});
}

 

ace+validate表单验证(两种方法)的更多相关文章

  1. 使用js提交form表单的两种方法

    提交form表单的时候瑶族一些简单的验证,验证完后才能提交,避免无效提交. 1.当输入用户名和密码为空的时候,需要判断.这时候就用到了校验用户名和密码,这个需要在前端页面写:有两种方法,一种是用sub ...

  2. spring mvc 防止重复提交表单的两种方法,推荐第二种

    第一种方法:判断session中保存的token 比较麻烦,每次在提交表单时都必须传入上次的token.而且当一个页面使用ajax时,多个表单提交就会有问题. 注解Token代码: package c ...

  3. Django 构建模板form表单的两种方法

    通常情况下,我们想构建一张表单时会在模板文件login.html中写入 <form action="/your-name/" method="post"& ...

  4. 利用JS提交表单的几种方法和验证(必看篇)

    第一种方式:表单提交,在form标签中增加onsubmit事件来判断表单提交是否成功 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <scr ...

  5. 基于jQuery的Validate表单验证

    表单验证可以说在前端开发工作中是无处不在的~ 有数据,有登录,有表单, 都需要前端验证~~  而我工作中用到最多的就是基于基于jQuery的Validate表单验证~  就向下面这样~ 因为今天有个朋 ...

  6. ASP.NET MVC Jquery Validate 表单验证的多种方式

    在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS ...

  7. 【干货】Laravel --Validate (表单验证) 使用实例

    前言 : Laravel 提供了多种方法来验证应用输入数据.默认情况下,Laravel 的控制器基类使用ValidatesRequests trait,该trait提供了便利的方法通过各种功能强大的验 ...

  8. [转]ASP.NET MVC Jquery Validate 表单验证的多种方式介绍

    在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体验也会得到很大的提升.在开发过程中我们可以不借助 JS 库,自己去手写 JS ...

  9. Jquery Validate 表单验证的多种方式

    ASP.NET MVC Jquery Validate 表单验证的多种方式 在我们日常开发过程中,前端的表单验证很重要,如果这块处理不当,会出现很多bug .但是如果处理的好,不仅bug会很少,用户体 ...

随机推荐

  1. 树莓派研究笔记(9)-- 树莓派SPI连接TFT屏幕

    HDMI连接和树莓派专用连接的接口的屏幕都太贵了,为了节约成本,现在国内大多数还是TFT屏幕. 树莓派可以激活SPI接口,通过代码驱动TFT屏幕的显示.这样利用树莓派zero 打造小型的游戏平台可以大 ...

  2. 理解JSON的语法

    JSON语法可以分为三种类型: 简单值 对象 数组 简单值: 5 "Hello World" JavaScript字符串与JSON字符串的最大区别在于,JSON字符串必须使用双引号 ...

  3. 把Spark SQL的metadata存储到mysql

    1:安装配置mysql yum install mysql mysql-server service mysqld start mysqladmin -u root  password newpass ...

  4. input的on(‘input’,function(0{})事件

    $('div[name="swlw"]').on('input',function(e){   function(){};      });

  5. C++笔记--名字空间和异常

    名字空间 成员函数可以在名字空间的定义里去声明,然后再去采用一种定义方式例如:namespace__name::member_name的方式去定义这个成员函数 namespace parser{ do ...

  6. angularjs+requlirejs 搭建前端框架(1)

    第一部分:发发牢骚吧 随着富前端时代的逐渐深入,越来越多的前端技术框架层出不穷,可以说是百花齐放.让我们这些爱好前端的人疲于奔命,今天学习这个框架,明天研究那个框架,哎,说不出的蛋疼...感觉好累.. ...

  7. c语言 参数传值和传地址

    static void TestCharP(char **p) { char *q = "ssssss"; *p=q; } static void TestCharP1(char ...

  8. 基于ef core 2.0的数据库增删改审计系统

    1.首先是建审计存储表 CREATE TABLE [dbo].[Audit] ( [Id] [uniqueidentifier] NOT NULL, [EntityName] [nvarchar](1 ...

  9. recommonmark

    一 简要介绍 recommonmark是个到commonMark文档的兼容性桥,那么什么是commonMark是什么的呢?CommonMark是规范版的markdown,下边是部分commonmark ...

  10. (原创)Codeforces Round #550 (Div. 3) D. Equalize Them All

    D. Equalize Them All time limit per test 2 seconds memory limit per test 256 megabytes input standar ...