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. RDMS三剑客的服务

    @echo off title %1 goto %1 echo Error... echo. goto bexit :orcl_stop rem 顺序:EM.LSN.SID rem echo stop ...

  2. HTML5 script 标签的 crossorigin 和integrity属性的作用

    Bootstrap 4 依赖的基础库中出现了两个新的属性 <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.slim.m ...

  3. [UE4]判断2个向量是否相等

    一.因为向量是3个浮点数,如果不使用误差的话,计算机里面的浮点数是有一定误差的. 二.如上图所示,如果2个向量的误差1厘米(UE4的单位是厘米),则表示2个向量相等.

  4. mybatis逆向工程没有报错,但是也没有pojo和Mapper文件问题

    如果你使用的逆向工程是自己手写上去的配置文件,那么错误的范围就太大了.如果是你导入以前使用过的逆向工程,那么没有生成文件很可能是使用的操作系统不同. 原因:逆向工程中的路径问题,windows和mac ...

  5. JS和CSS交互的方法

    用JavaScript获取伪元素(pseudo-element)属性  var  color=window.getComputedStyle( document.querySelector('.ele ...

  6. Vue 学习(1)

    <!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta cha ...

  7. openstack创建虚拟流程、各组件介绍

    登录界面或命令行通过RESTful API向keystone获取认证信息. keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求. 界面或命令行通过RESTful AP ...

  8. The component and implementation of a basic gradient descent in python

    in my impression, the gradient descent is for finding the independent variable that can get the mini ...

  9. MPI 集合通信函数 MPI_Reduce(),MPI_Allreduce(),MPI_Bcast(),MPI_Scatter(),MPI_Gather(),MPI_Allgather(),MPI_Scan(),MPI_Reduce_Scatter()

    ▶ 八个常用的集合通信函数 ▶ 规约函数 MPI_Reduce(),将通信子内各进程的同一个变量参与规约计算,并向指定的进程输出计算结果 ● 函数原型 MPI_METHOD MPI_Reduce( _ ...

  10. dubbo rest服务 No provider available for the service 错误问题

    1.版本 dubbo 2.6.2 2.描述 消费者调用dubbo rest服务报No provider available for the service错误 网络上有讲是实体类未实现Serializ ...