博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
validate表单验证
阅读量:5238 次
发布时间:2019-06-14

本文共 3095 字,大约阅读时间需要 10 分钟。

一、完善的配置

"VALIDATION_OPTION": function(){		return {			onfocusout: function(element) { 				$(element).closest('.form-group').removeClass('has-error');				$(element).valid(); 			},			onkeyup: function(element) {				$(element).closest('.form-group').removeClass('has-error');				$(element).valid(); 			},			onclick:function(element) {				$(element).closest('.form-group').removeClass('has-error');				$(element).valid(); 			},			errorElement: 'div',			errorClass: 'help-block has-error',			highlight: function (error,element) {				$(error).closest('.form-group').addClass('has-error');			},			errorPlacement: function(error, element) {				element.popover({					content:error.outerHTML(),					html:true,					placement:"bottom",					trigger:"focus"				});			},			success: function (error,element) {				$(element).popover('destroy');				$(error).closest('.form-group').removeClass('has-error');//.addClass('has-info');			},			messages : {				"required" : "此项为必填.",				"email" : "请输入一个合法的email地址",				"url" : "请输入一个合法的url地址.",				"date" : "请输入一个合法的日期.",				"number" : "请输入一个合法的数字.",				"digits" : "请输入一个正整数.",				"mobile" : "请输入一个合法的手机号码",				"phone" : "请输入一个合法的电话号码",				"pwd" : "密码只能是6-16位的数字字母下划线的组合.",				"isDate" : "请输入正确的日期(格式为xxxx-xx-xx)",				"maxlength": $.validator.format("此项最多只能输入{0}个字符"),				"minlength": $.validator.format("此项至少需要输入{0}个字符"),		        "rangelength": $.validator.format("此项需要输入{0}到{1}个字符"),		        "range": $.validator.format("Please enter a value between {0} and {1}."),		        "max": $.validator.format("Please enter a value less than or equal to {0}."),		        "min": $.validator.format("Please enter a value greater than or equal to {0}.")			}		};	},

  

 

$.validator.addMethod("mobile",function(value,element){	if( !value )return true;	return /^(?:13|15|17|18)[0-9]{9}$/.test(value);});$.validator.addMethod("pwd",function(value,element){	var a = /^[a-zA-Z_0-9]{6,16}$/.test(value);	return /^[a-zA-Z_0-9]{6,16}$/.test(value);});$.validator.addMethod("phone",function(value,element){	if( !value )return true;	return /^(?:[0-9]{3,4}-)?[0-9]{7,8}$/.test(value);});$.validator.addMethod("digits",function(value,element){	if( !value )return true;	return this.optional(element) || /^\d+$/.test(value);  });$.validator.addMethod("number",function(value,element){	if( !value )return true;	return this.optional(element) || /^\d+(\.\d+)?$/.test(value);  });$.validator.addMethod("isDate", function(value, element){	if( !value )return true;	var ereg = /^(\d{1,4})(-)(\d{1,2})(-)(\d{1,2})$/;	var r = value.match(ereg);	if (r == null) return false;	var d = new Date(r[1], r[3] - 1, r[5]);	var result = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[5]);	return this.optional(element) || (result);},"请输入正确的日期(格式为xxxx-xx-xx)");$.validator.messages = $.extend($.validator.messages,Const.VALIDATION_OPTION().messages);

 

注意:1、后续方法中的  if( !value )return true;  代码可以完成如果输入可以为空,在未输入值或者值被清空时,不会验证

   2、 onfocusout、onkeyup、onclick三个参数的配置可以确保输入框值变化的时候进行验证,避免上一次验证的结果残留下来

     3、isDate时间格式判断的时候,会与其他的时间插件冲突,导致错误提示不会出现

 

转载于:https://www.cnblogs.com/binbang/p/4772540.html

你可能感兴趣的文章
RDD中cache和persist的区别
查看>>
Github提交Spark代码
查看>>
【Linux】配置IP和主机名
查看>>
你高兴了吗?
查看>>
WorkerThread/ThreadPool/BackgroundThread
查看>>
C快速排序算法
查看>>
C# MVC中直接执行Js
查看>>
poj 2761 主席树的应用(查询区间第k小值)
查看>>
The Heaviest Non-decreasing Subsequence Problem
查看>>
delphi
查看>>
MySQL Workbench “Error Code: 1175” 的解决方法
查看>>
修改状态栏的颜色
查看>>
01.深入学习方法
查看>>
线程的2种实现方式
查看>>
Web渗透测试(xss漏洞)
查看>>
AFNetwork 作用和用法详解
查看>>
JSON简介
查看>>
HDOJ 1465 不容易系列之一 【错排公式 递推】
查看>>
html4
查看>>
javascript中,单引号是转义字符,就是让编辑器认为他后面的东西就是这个意思。...
查看>>