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. centos7系统优化定制

    #!/bin/bash #author junxi by #this script is only for CentOS 7.x #check the OS platform=`uname -i` i ...

  2. 网站设置http到https

    首先ssl证书配置好,以保证可以正常访问https,若不会请看上一个文章 然后就是http模式访问怎么自动到https呢,很简单 首先在ssl网站根目录创建文件.htaccess,很多用文本文档那样创 ...

  3. Azure CosmosDB (12) 创建Cosmos DB并执行查询语句

    <Windows Azure Platform 系列文章目录> The SQL API supports the following aggregate functions. SUM an ...

  4. 前端需要了解的HTTP协议

    目录 HTTP协议 HTTP概述 HTTP之URL HTTP状态码 HTTP首部 HTTP首部字段 HTTP通用首部字段 HTTP请求首部字段 HTTP工作原理 HTTP报文内的HTTP信息 HTTP ...

  5. HTML5 Audio(音频)

        <audio controls> <source src="horse.ogg" type="audio/ogg"> <s ...

  6. 【java】之算法复杂度o(1), o(n), o(logn), o(nlogn)

    在描述算法复杂度时,经常用到o(1), o(n), o(logn), o(nlogn)来表示对应算法的时间复杂度, 这里进行归纳一下它们代表的含义: 这是算法的时空复杂度的表示.不仅仅用于表示时间复杂 ...

  7. htm,css,javascript及其他的注释方式

    转自:http://www.cnblogs.com/dapeng111/archive/2012/12/23/2829774.html 一.HTML的注释方法<!-- html注释:START ...

  8. Lubuntu下安装Python3.6

    Lubuntu下系统自带的Python版本是2.X,由于开发环境要求Python3,于是我们安装Python3.6 1.在终端输入以下命令: sudo add-apt-repository ppa:j ...

  9. java.util.concurrent包下并发锁的特点与适用场景

    序号 类 备注 核心代码 适用场景 1 synchronized 同步锁 并发锁加在方法级别上,如果是单例class对象,则只能允许一个线程进入public synchronized void doX ...

  10. vscode之常用快捷键

    原文章地址: vscode: Visual Studio Code 常用快捷键 官方快捷键说明:Key Bindings for Visual Studio Code 主命令框 F1 或 Ctrl+S ...