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. 搞懂iobuffer就得先学习bytebuffer

    ByteBuffer前前后后看过好几次了,实际使用也用了一些,总觉得条理不够清晰. <程序员的思维修炼>一本书讲过,主动学习,要比单纯看资料效果来的好,所以干脆写个详细点的文章来记录一下. ...

  2. APS技术中的多目标规划问题

    在进行APS(高级计划与排程)系统开发时,绝大多数情况下是需要考虑多目标的.但面对多目标问题进行规划求解时,我们往往极容易因处理方法不当,而影响输出结果,令结果与用户期望产生较大差别.事实上很多时候用 ...

  3. meter命令行模式运行,实时获取压测结果 (没试过 说不定以后要用)

    jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行.简单介绍下命令行运行的方式 上面一条命令应该可以满足大部分需求. 使用-R指定节点时,当然要首先在这些节点上启动jmeter-serv ...

  4. 一些常用的js循环,如for

    https://blog.csdn.net/u014399368/article/details/82862444

  5. 日志监控文件中获取ip,每一分钟统计一次,超过200次的计入黑名单

    一.日志文件access.log #.要从日志里面找到1分钟之内访问超过200次的 #.每分钟都运行一次 #.读取文件内容,获取到ip地址 #.把每个ip地址存起来{} #.判断ip访问的次数是否超过 ...

  6. 一个故事带你理解if __name__ == '__main__'

    如果你刚刚接触python,相信会在看别人的程序的时候会遇到if __name__ == '__main__'酱紫的语法,如果当时没看懂现在也一知半解的话,看下去,本文可以帮你解决这个问题. 大家都知 ...

  7. 8、Zookeeper分布式锁

    基础知识:http://www.cnblogs.com/LiZhiW/p/4931577.html 1 可重入读写锁示例代码如下(lock.acquire加几个,就必须使用几个lock.release ...

  8. html5编写软件哪个好?八款html5编写软件推荐

    随着各大浏览器对HTML5技术支持的不断完善,未来HTML5必将改变我们创建Web应用程序的方式.而很多html5的初学者都想找一款好用的编写软件,这里主机吧就给大家推荐七款好用的html5编写软件. ...

  9. c里面的static inline函数

    一般来说加上static表示函数是文件作用域,有的时候单独使用inline编译器会优化,没有编译成内联函数,而是变成普通函数编译,所以必须在前面加上static,放在头文件中可以被外部文件访问.   ...

  10. jQuery属性操作总结

    jquery属性包括以下几个: attr(name|pro|key,val|fn) removeAttr(name) prop(n|p|k,v|f)1.6+ removeProp(name)1.6+ ...