validate表单验证
2015-08-31 10:58
323 查看
一、完善的配置
注意:1、后续方法中的 if( !value )return true; 代码可以完成如果输入可以为空,在未输入值或者值被清空时,不会验证
2、 onfocusout、onkeyup、onclick三个参数的配置可以确保输入框值变化的时候进行验证,避免上一次验证的结果残留下来
3、isDate时间格式判断的时候,会与其他的时间插件冲突,导致错误提示不会出现
"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时间格式判断的时候,会与其他的时间插件冲突,导致错误提示不会出现
相关文章推荐
- 史上最牛 Maven POM 标签详解
- 【Matlab学习笔记】(四)认识matlab的文件类型和简单练习
- 联想笔记本Z460中BIOS设置U盘启动教程
- MD5加密工具
- oracle数据库基本数据类型
- 全国城市数据库plist文件和sqlite文件和json文件
- MyBatis
- 15问答为专业测试人员揭开“精准测试”的面纱
- IOS学习笔记 ---- 15/08/30之前
- 第一次作业
- 安装ASP.net mvc3 Installation failed with error code: (0x80070643), "安装时发生严重错误 "
- 工具——SVN常用命令
- LinuxUnix time时间戳的处理转换函数
- Git的使用二(第一次提交修改)仅限Mac亲测
- elasticsearch 并发控制
- Rational Rose Enterprise Edition 2003 安装破解步骤
- Android移动端短信验证码的实现
- [leetcode] 273.Integer to English Words
- django中实现图片的上传功能
- JavaScript学习笔记3-附录(Java的各类型数据在内存中分配情况详解)