$(function() {
var submit = false;
var superHtml = [];
/**
* 匹配企业帐号,以字母开头,长度在6-20之间,只能包含字符、数字和下划线。
*/
// jQuery.validator.addMethod("userNameIsFormart", function(value, element) {
// return this.optional(element) || /^[a-zA-Z]\w{5,19}$/.test(value);
// }, "企业名称格式:以字母开头,长度在6-20字符之间,只能包含字符、数字和下划线。");
/**
* 验证企业名称是否存在;
*/
// jQuery.validator.addMethod("userNameIsExist", function(value, element) {
// return action.checkUserName();
// }, "该企业名称不存在。");

/**
* 匹配密码,长度在6-20之间。
*/
// jQuery.validator.addMethod("pwdIsFormart", function(value, element) {
// return this.optional(element) || /^.{6,20}$/.test(value);
// }, "企业密码格式:长度在6-20字符之间");

/**
* 验证的调用方法 if(!validator.valid()){ return false; } 验证重新启动 validator.reset();
*/
var validator = {
validator : null,
valid : function($this) {
// 如果验证通过,设置提示信息消失
if(this.validator.element($this)){
$this.parentNode.children[1].remove();
}
return this.validator.element($this);
},
validForm : function() {
return this.validator.form();
},
reset : function() {
this.validator.resetForm();
},
init : function() {
this.validator = $('#frm_login').validate({
// ignore: [],//设置验证隐藏表单域
rules : {
'userName' : {
required : true,
// userNameIsFormart : true,
// userNameIsExist : true
},
'password' : {
required : true,
// pwdIsFormart : true
},
},
/* 设置错误信息 */
messages : {
'userName' : {
required : "请输入企业名称。",
userNameIsFormart : "用户名或者密码错误。"
// userNameIsExist : "该企业名称不存在。"
},
'password' : {
required : "请输入企业密码。",
pwdIsFormart : "用户名或者密码错误。"
}
},
onkeyup : false, // disable key up
onfocusout : false, // disable focus out
// showErrors : function(errorMap, errorList) {
// if (errorList.length) {
// alert(errorList[0].message);
// }
// }
errorPlacement : function(error, element){
if(($(element).val() == "") || ( element.closest('div').find('span').length > 0 ) ){
element.closest('div').find('span').remove();
}
element.closest('div').append('<span style="color: red">' + error.text() + '</span>');
}

});
}

};
validator.init();
var action = {
/**
* 验证该用户名是否已被使用
*/
checkUserName : function() {
var url = contentPath + "/sysUser/testSysUserExist";
var param = {};
param.userName = $('#userName').val();
param.type = $('#type').val();
var valState = true;
$.ajax({
url : url,// 查询方法的url
data : param, // params
type : "post",
dataType : "json",
async : false,
success : function(data) {
if (data.data.exist) {
valState = true;
} else {
valState = false;
}
}
});
return valState;
}
};

var bind = {
bind_event : function() {
//
$('#btn_do_login').on('click', function(e) {
e.preventDefault();
if (!validator.validForm()) {
return false;
}
if (submit) {
return;
}
submit = true;
$(this).attr('disabled', true);
//
var url = contentPath + "/doLogin";
var param = {};
param.username = $("#userName").val(); // 企业账号
param.password = $("#password").val(); // 企业密码
param.type = $("#type").val(); // 用户类型
$.ajax({
url : url,
data : param,
type : 'POST',
dataType : 'json',
success : function(data) {
submit = false;
$('#btn_do_login').attr('disabled', false);
if (data.status === "success") {
window.location.href = contentPath + "/";
} else {
// alert(data.msg);
$('#password').closest('div').append('<span style="color: red">' + data.msg + '</span>');

}
},
error : function() {
window.location.href = contentPath + "/error";
}
});
});

/**
* 企业名称获得焦点,将提示消息清空
*/
$('#userName').on('focus', function() {
$('#userName').closest('div').find('span').remove();
});

/**
* 企业密码获得焦点,将提示消息清空
*/
$('#password').on('focus', function() {
$('#password').closest('div').find('span').remove();
});

/**
* 企业账号失去焦点事件
*/
// $('#userName').on('blur', function() {
// validator.valid(this);
// });

/**
* 企业密码失去焦点事件
*/
// $('#password').on('blur', function() {
// validator.valid(this);
// });

}

};
bind.bind_event();
});

jQuery Validate (登录页面相关验证)的更多相关文章

  1. jquery.validate.js表单验证

    一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...

  2. 【转】jquery.validate.js表单验证

    一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...

  3. [转]jquery.validate.js表单验证

    原文地址:https://www.cnblogs.com/si-shaohua/p/3780321.html 一.用前必备官方网站:http://bassistance.de/jquery-plugi ...

  4. Jquery.validate.js表单验证插件的使用

    作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...

  5. 基于Jquery Validate 的表单验证

    基于Jquery Validate 的表单验证 jquery.validate.js是jquery下的一个验证插件,运用此插件我们可以很便捷的对表单元素进行格式验证. 在讲述基于Jquery Vali ...

  6. 360浏览器下jquery.validate.unobtrusive的日期验证问题

    今天在招聘频道(job.cnblogs.com)遭遇这样一个问题——在360浏览器下,在一个表单验证中,虽然输入了有效的日期,却总是提示日期格式错误,见下图: 而在Chrome/Safari/Fire ...

  7. jquery.validate.js使用id验证控件

    jquery.validate.js默认的是元素的name. 例如:<input name="username" id="username" size=& ...

  8. 异步提交form的时候利用jQuery validate实现表单验证

    异步提交form的时候利用jQuery validate实现表单验证相信很多人都用过jquery validate插件,非常好用,并且可以通过下面的语句来自定义验证规则    // 电话号码验证    ...

  9. 基于Bootstrap+jQuery.validate Form表单验证实践

    基于Bootstrap jQuery.validate Form表单验证实践 项目结构 :     github 上源码地址:https://github.com/starzou/front-end- ...

随机推荐

  1. 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1 20165322

    Exp0 Kali安装 由于VMWare已经装好,镜像也是从上届拷下来的.下载部分就省略.. 新建虚拟机 安装好VM后点击新建虚拟机 选择稍后安装操作系统,系统选择Linux-ubuntu 接下来根据 ...

  2. gluoncv 训练自己的数据集,进行目标检测

    跑了一晚上的模型,实在占GPU资源,这两天已经有很多小朋友说我了.我选择了其中一个参数. https://github.com/dmlc/gluon-cv/blob/master/scripts/de ...

  3. weblogic远程调试XMLDecoder RCE CVE-2017-10271

    首先说一下远程调试的配置,首先在weblogic的启动文件加入如下配置,开启服务器远程调试端口就是9999: 第二步,建立一个java的空项目. 第三步将weblogic的所有jar包拷出来,放到一个 ...

  4. 数论——扩展的欧几里德算法 - HDU2669

    http://acm.hdu.edu.cn/showproblem.php?pid=2669 #include <iostream> using namespace std; int gc ...

  5. Linux BLE 基于 树莓派

    1.参考资料:Linux(RaspberryPi)上使用BLE低功耗蓝牙 使用bluez协议栈方法有用 2.Linux下Bluez的编程实现 3.和菜鸟一起学linux之bluez学习记录2 4.BL ...

  6. ASP.NET Core Middleware (转载)

    What is Middleware? Put simply, you use middleware components to compose the functionality of your A ...

  7. ActionBar自己定义改动无效解决方法

    假设程序支持API11下面的版本号,那么须要改动多个地方 values-v14 和values-v11以下的styles中也要写上 <style name="AppTheme" ...

  8. SSM衍生的配置文件

    JDBC:(Java database connectivity) 目的:将Java语言和数据库解耦和,使得一套Java程序能对应不同的数据库. 方法:sun公司制定了一套连接数据库的接口(API). ...

  9. Java并发编程(三)什么是线程池

    什么是线程池 学习编程的小伙伴们会经常听到“线程池”.“连接池”这类的词语,可是到底“池”是什么意思呢?我讲个故事大家就理解了:在很久很久以前有一家银行,一年之中只有一个客户来办理业务,随着时间的推移 ...

  10. c#将List转换成DataTable

    前面写了一篇List<T>转换成DataTable,这里主要是完善了前面的代码. 同样使用了emit,我把代码整理后上传了git. 另外增加了特性的设计. 设计了三类特性ColumnTyp ...