validate使用步骤:
1.导入jquery.js
2.导入validate.js
3.在页面加载成功之后 对表单进行校验  $("选择器").validate()
4.在validate中编写校验规则
$("选择器").validate({
rules:{},
messages:{}
});

4.1 这里rules的{} 里写的就是具体的规范,要做什么约束

4.2messages的{}里写的就是违背给出的提示信息

####rules{}内的格式:
格式1:
字段的name属性:"校验器"
格式2:
字段的name属性:{校验器:值,校验器:值}

其中:格式1是一个输入框只有一个校验器的时候使用

而格式2是一个输入框需要有多个校验器的时候使用

####messages{}内的格式跟rules类似

messages的格式:
格式1:
字段的name属性:"提示信息"
格式2:
字段的name属性:{校验器:"提示信息",校验器:提示信息"}

$("#register").validate($.extend({
       // 这里写的就是具体的规范,要做什么约束
rules: { // 放回元素的验证规则
username: { // input的name 名称
required: true, // 必须输入的字段
firstLetter: true, // 调用的下边代码里的 firstLetter true为开启
usernameFormat: true, // 调用下边代码里的
rangelength: [6,15], //输入长度必须介于 [最小值,最大值]之间
            // remote 相当于 $.ajax
remote: {
url: "${createLink(controller: 'mobileMain',action: 'checkUsernameExists')}",
type: "post",
data: {
username: function(){
return $("input[name='username']").val();
}
}
}
},
password: {
required: true,
rangelength: [6,16]
},
passwordRepeat: {
required: true,
equalTo: "input[name='password']"
},
telephone: {
required: true,
telephoneFormat: true,
remote: {
url: "${createLink(controller: 'mobileMain',action:'checkTelephoneExists2')}",
type: "post",
data: {
telephone: function(){
return $("input[name='telephone']").val();
}
}
}
},
captcha: {
required: true,
remote: {
url: "${createLink(controller: 'mobileMain',action: 'checkCaptcha')}",
type: "post",
data: {
captcha: function(){
return $("input[name='captcha']").val()
}
}
}
},
telCaptcha: {
required: true,
remote: {
url: "${createLink(controller: 'mobileMain',action: 'checkTelCaptcha')}",
type: "post",
data: {
telephone: function(){
return $("input[name='telephone']").val();
},
captcha: function(){
return $("input[name='telCaptcha']").val()
}
}
}
},
invitationCode: {
remote: {
url: "${createLink(controller: 'mobileMain',action: 'checkInvitationCode')}",
type: "post",
data: {
invitationCode: function(){
return $("input[name='invitationCode']").val();
}
}
}
}
},
       // 错误给出的提示语
messages:{
username: { // 这个名字要和上边的名字对应
required: "用户名不能为空",
rangelength: "用户名需为6-15位字符",
remote: "用户名已存在"
},
password: {
required: "密码不能为空",
rangelength: "密码需为6-16位字符"
},
passwordRepeat: {
required: "确认密码不能为空",
equalTo: "确认密码不一致"
},
telephone: {
required: "手机号码不能为空",
remote: "该手机号码已被注册"
},
captcha: {
required: "图片验证码不能为空",
remote: "图片验证码不正确"
},
telCaptcha: {
required: "手机验证码不能为空",
remote: "手机验证码不正确"
},
invitationCode:{
remote: "无效的邀请码"
}
}
}, {
       // 错误是显示
errorPlacement:function(error, element){ // error 提示语 element 选择器
if(!error[0].innerHTML){
return
}
$(element).nextAll(".inputinfo").children().attr("src", "${application.contextPath}/assets/img/reg/inputerror.gif")
$(element).nextAll(".errorinfo").html(error[0].innerHTML)
config.afterValidateError(element[0])
},
       // 成功后显示
success: function(obj, element){
$(element).nextAll(".inputinfo").children().attr("src", "${application.contextPath}/assets/img/reg/inputok.gif")
$(element).nextAll(".errorinfo").html("")
config.afterValidateSuccess(element)
},
onkeyup: false
}));
jquery.validator.addMethod方法的使用
  addMethod(name,method,message),$.validator.format(string)方法
参数: name 是添加的方法的名字
   method 是一个函数,接受三个参数(value,element,param)
        value 元素的值 element 是元素本身 param 是参数
        param 要为此方法显示的默认消息,可以 jquery.validator.format(value) 创建的函数.未定义时,使用默认消息,否则必须定义(字符串)消息
format(string) 是要返回的字符串
要为此方法显示的默认消息。可以是''jQuery.validator.format(value)''创建的函数。未定义时,使用现有消息(便于本地化),否则必须定义特定于字段的消息。
这段代码和上边代码 是一体的 firstLetter 上边有调用
$.validator.addMethod("firstLetter", function (value, element, param) {
return this.optional(element) || /^[a-zA-Z]/.test(value)
}, $.validator.format("首位必须字母")) $.validator.addMethod("usernameFormat", function (value, element, param) {
return this.optional(element) || /^[a-zA-Z]+([a-zA-Z0-9|_|-]*$)/.test(value)
}, $.validator.format("可使用字母、数字、横线、下划线")) $.validator.addMethod("telephoneFormat", function (value, element, param) {
return this.optional(element) || /^[1][3,4,5,7,8][0-9]{9}$/.test(value)
return this.optional(element) || /^[1][1,3,4,5,7,8][0-9]{9}$/.test(value)
}, $.validator.format("手机号码格式不正确"))
校验类型
取值
描述
required
true|false
必填字段
email
“@”或者”email”
邮件地址
url
 
路径
date
数字
日期
dateISO
字符串
日期(YYYY-MM-dd)
number
 
数字(负数,小数)
digits
 
整数
minlength
数字
最小长度
maxlength
数字
最大长度
rangelength
[minL,maxL]
长度范围
min
 
最小值
max
 
最大值
range
[min,max]
值范围
equalTo
jQuery表达式
两个值相同
remote
url路径
ajax校验

http://www.runoob.com/jquery/jquery-plugin-validate.html  官网地址

validate表单验证的更多相关文章

  1. 基于jQuery的Validate表单验证

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

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

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

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

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

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

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

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

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

  6. jQuery-easyui和validate表单验证实例

    jQuery EasyUI 表单 - 表单验证插件validatebox 使用时需要向页面引入两个css文件如下: <link rel="stylesheet" href=& ...

  7. summernote富文本编辑器配合validate表单验证无法进行表单提交的问题

    1.使用summernote富文本编辑器提交图片到服务器 在使用bootstrap中,我们用到了summernote富文本编辑器,使用summernote将图片上传到服务器中,参考我的上篇文章http ...

  8. thinkphp图片上传+validate表单验证+图片木马检测+缩略图生成

    目录 1.案例 1.1图片上传  1.2进行图片木马检测   1.3缩略图生成   1.4控制器中调用缩略图生成方法 1.案例 前言:在thinkphp框架的Thinkphp/Library/Thin ...

  9. validate表单验证-单独验证

    今天编写一个表单验证程序,我来说一下今天遇到的坑:程序不是通过submit按钮提交验证的,是在自己写的一个方法中提交的,出现了表单无法验证的情况.然后我就了解了一下jquery validate的验证 ...

  10. jQuery Validate 表单验证 — 用户注册简单应用

    相信很多coder在表单验证这块都是自己写验证规则的,今天我们用jQuery Validate这款前端验证利器来写一个简单的应用. 可以先把我写的这个小demo运行试下,先睹为快.猛戳链接--> ...

随机推荐

  1. 解决httpclient的NoHttpResponseException异常

    https://blog.csdn.net/liubenlong007/article/details/78180333

  2. JavaWeb数据库长时间不访问断开链接解决思路

    这几天开发的线上商超系统长时间不操作,会频繁的出现第一次登陆或者跟数据库操作有关的方法都会报500错误,很是鸡肋啊这个问题. 经过网上不断的探索,在知识的海洋里畅游了几分钟后我自己总结出一套方法,我用 ...

  3. CefSharp 与 js 相互调用

    https://blog.csdn.net/gong_hui2000/article/details/48155547

  4. ionic2 vscode运行调试

    一.环境搭建 1,安装ripple模拟器 如果已经注册了淘宝国内镜像使用下面命令 cnpm install -g ripple-emulator 显示结果如下: 2,安装vs code 下载地址htt ...

  5. Robot Framework安装及入门

    1. 安装 所有安装文件存放在:\Robotsoft64位文件夹下 1) 安装python2.7.14 a) 双击执行python-2.7.14.msi b) 安装后更改环境变量,添加python的安 ...

  6. linux 退出当前命令的编辑

    有时候输入命令,linux既不响应命令,也不提示错误.可以用如下方法结束当前命令: ctrl+z挂起当前进程如果需要恢复到前台输入fg,恢复到后台输入bgctrl+c,彻底终止该进程

  7. Ubuntu下安装Snap

    介绍 Snap是一个全新的软件包架构,它与其它包管理器的区别在于snap安装的app互相之间是高度隔离的,减少了互相引用. 避免了很多冲突问题. 不过这也导致了其占用的磁盘比较多. 安装 apt in ...

  8. unity检测鼠标是点击在UI上还是物体上

    void Update() { if (Input.GetMouseButtonDown(0)||(Input.touchCount >0 && Input.GetTouch(0 ...

  9. scrapy使用指南

    创建scrapy项目: scrapy startproject 项目名 cd到项目名下 scrapy genspider 爬虫名 www.baidu.com(网站网址) 之后按照提示创建爬虫文件(官方 ...

  10. 【安全测试自学】初探web安全处测试(三)

    安全测试专家成长系列之-初探Web安全3.mp4 案例: 安全测试的前景: 总结讨论: