Jquery的验证插件Validate.js
2018-01-19 16:44
666 查看
最近使用到了验证这一功能,验证一般分为前台验证、后台验证两种。之前记录的关于Spring MVC 验证注解@Validation的是属于后台验证。而现在要介绍的是属于Jquery前台验证。
也可以自定义验证规则,增强验证规则。
强大的验证信息提示,可以使用默认的验证信息提示,也可以自定义的覆盖。
不同的验证方式:可以是debug式的验证,不用提交表单。也可以使实时验证keyup或者blur事件触发验证,不需要提交时才验证。
至少需要引入必要的两个文件
官方下载插件地址https://jqueryvalidation.org/
在dist目录中找到validate.js文件
2、了解校验规则
required:true 必须输入的字段
remote:’check_xxx.action’ 使用ajax异步远程验证输入值
email:true 必须输入正确格式的电子邮件
url:true 必须输入正确格式的url网址
date:true 必须输入正确格式的日期
digits:true 必须输入整数
creditcard:true 比如输入合法的信用卡号
equalTo: ‘#selector’ 输入的值必须和#selector相同
accept : 输入拥有合法后缀名的字符串,可是上传的文件名后缀
maxlength:num 输入长度最多为num的字符串。
minlength:num 输入长度最小是num的字符串
ranggelength:[min,max] 输入长度最小为min,最长为max的字符串
range:[min,max]输入值介于min与max之间
max:num 输入值不能大于num
min :num 输入值不能小于num
3.引入信息提示文件
该插件提供了默认的信息提示
我们可以改为中文信息提示,只需要找到dist/localization/messages_zh.js文件引入即可。
该文件的内容如下:
4.校验规则写入js文件
首先html创建了form表单
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/19/ace7e977ff1b17959cd2c7f8cf8a83f7)
之后创建js校验规则文件
格式为json格式,主要常用的有rules规则定制,与messages的信息定制(实际为将默认的英文消息覆盖)
其中使用debug模式,方便调试。
之后的效果初步形成
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/19/337ecd04c543f8f9c92e308e8c1ca905)
是更改错误提示信息的位置,默认的是将错误信息放在验证的元素后面并且以label标签展示
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/19/9de55f31ca5a5c3d604201395ef7dd95)
2、验证的触发方式
之前的debug模式就是验证触发方式之一。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/19/b10c408202cdcbcf12bb8940359e106c)
3.自定义验证
自定义验证需要引入additional-method.js文件,在其中增加自定义的方法。
使用
name:添加方法的名字
method:是一个callback函数function(value,element,param),其中三个参数:value是元素的值,element是元素本身。param是参数
message:错误消息的提示。
比如现在我们只需要输入一个整数(0-9)的验证方法,代码如下:
自定义inr方法
则在校验写入js时候,需要输入的name=”int”
其中[0,9] 就是param参数传递的值
将此代码加入additional-method.js文件或者自定义自己的js文件
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/19/c81be0f1d90e04f186944a6a10925186)
再加入到messages_zh.js文件中消息提示
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/19/3fff2320d92c6513af267fa6ba3accda)
结果为:
一、Validation插件功能介绍
封装了必填、数字、Email、URL等的十几种验证规则。也可以自定义验证规则,增强验证规则。
强大的验证信息提示,可以使用默认的验证信息提示,也可以自定义的覆盖。
不同的验证方式:可以是debug式的验证,不用提交表单。也可以使实时验证keyup或者blur事件触发验证,不需要提交时才验证。
二、Validate插件的简单使用步骤
1、引入必要的jquery插件文件至少需要引入必要的两个文件
官方下载插件地址https://jqueryvalidation.org/
在dist目录中找到validate.js文件
<script src="src/jquery/jquery-3.2.1.js"></script> <script src="src/jquery/jquery.validate.js"></script>
2、了解校验规则
required:true 必须输入的字段
remote:’check_xxx.action’ 使用ajax异步远程验证输入值
email:true 必须输入正确格式的电子邮件
url:true 必须输入正确格式的url网址
date:true 必须输入正确格式的日期
digits:true 必须输入整数
creditcard:true 比如输入合法的信用卡号
equalTo: ‘#selector’ 输入的值必须和#selector相同
accept : 输入拥有合法后缀名的字符串,可是上传的文件名后缀
maxlength:num 输入长度最多为num的字符串。
minlength:num 输入长度最小是num的字符串
ranggelength:[min,max] 输入长度最小为min,最长为max的字符串
range:[min,max]输入值介于min与max之间
max:num 输入值不能大于num
min :num 输入值不能小于num
3.引入信息提示文件
该插件提供了默认的信息提示
messages: { required: "This field is required.", remote: "Please fix this field.", email: "Please enter a valid email address.", url: "Please enter a valid URL.", date: "Please enter a valid date.", dateISO: "Please enter a valid date ( ISO ).", number: "Please enter a valid number.", digits: "Please enter only digits.", creditcard: "Please enter a valid credit card number.", equalTo: "Please enter the same value again.", maxlength: $.validator.format( "Please enter no more than {0} characters." ), minlength: $.validator.format( "Please enter at least {0} characters." ), rangelength: $.validator.format( "Please enter a value between {0} and {1} characters long." ), 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}." ) }
我们可以改为中文信息提示,只需要找到dist/localization/messages_zh.js文件引入即可。
<script src="src/jquery/messages_zh.js"></script>
该文件的内容如下:
/* * Translated default messages for the jQuery validation plugin. * Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語) */ $.extend( $.validator.messages, { required: "这是必填字段", remote: "请修正此字段", email: "请输入有效的电子邮件地址", url: "请输入有效的网址", date: "请输入有效的日期", dateISO: "请输入有效的日期 (YYYY-MM-DD)", number: "请输入有效的数字", digits: "只能输入数字", creditcard: "请输入有效的信用卡号码", equalTo: "你的输入不相同", extension: "请输入有效的后缀", maxlength: $.validator.format( "最多可以输入 {0} 个字符" ), minlength: $.validator.format( "最少要输入 {0} 个字符" ), rangelength: $.validator.format( "请输入长度在 {0} 到 {1} 之间的字符串" ), range: $.validator.format( "请输入范围在 {0} 到 {1} 之间的数值" ), max: $.validator.format( "请输入不大于 {0} 的数值" ), min: $.validator.format( "请输入不小于 {0} 的数值" ) } );
4.校验规则写入js文件
首先html创建了form表单
<form id="userForm" action="www.baidu.com" method="post"> 帐号:<input type="text" name="account" value="" class="{validate:{required: true, minlength: 2, messages:{required:'请输入姓名', minlength:'请至少输入两个字符'}}}" /></br> 密码:<input type="password" id="password" name="password" value=""/></br> 确认密码:<input type="password" name="againPassword" value=""/></br> 邮箱:<input type="text" name="email" value=""/></br> 爱好: 上网<input type="checkbox" name="hobby" value="旅游"/> 唱歌<input type="checkbox" name="hobby" value="唱歌"/> 编程<input type="checkbox" name="hobby" value="编程"/> 书法<input type="checkbox" name="hobby" value="骑行"/><br/> URL:<input type="text" name="url" /></br> 照片:<input type="file" name="image"></br> <input type="submit" value="提交"> </form>
之后创建js校验规则文件
格式为json格式,主要常用的有rules规则定制,与messages的信息定制(实际为将默认的英文消息覆盖)
其中使用debug模式,方便调试。
$(function(){ $('#userForm').validate({ debug:true, //debug模式:验证成功也不会跳转action //规则定制 rules:{ account:{ required:true, rangelength:[6,12] }, password:{ required:true, rangelength:[6,12] }, againPassword:{ required:true, equalTo:'#password' }, email:{ required:true, email:true }, url:{ required:true, url:true }, image:{ required:true, extension:'gif|jpe?g|png' } }, //消息定制 messages:{ account:{ required:"账号不能为空", rangelength:$.validator.format('请输入长度为6-12的帐号') }, password:{ required:' 密码不能为空', rangelength:$.validator.format('请输入长度为6-12的密码') }, againPassword:{ required:'密码不能为空', equalTo:'您输入的两个密码不一致' }, email:{ required:'邮箱不能为空', email:'请输入正确的邮箱' }, url:{ required:'网址URL不能为空', url:'请输入正确的URL(以http://开头)' }, image:{ required:'请上传你的照片', extension:'照片后缀必须为:gif、jpeg、jpg、png' } } }); });
之后的效果初步形成
三、其他配置事项
1、更改错误信息提示的位置errPlacement:Callback
是更改错误提示信息的位置,默认的是将错误信息放在验证的元素后面并且以label标签展示
errorPlacement: function(error, element) { error.appendTo(element.parent()); }
2、验证的触发方式
之前的debug模式就是验证触发方式之一。
3.自定义验证
自定义验证需要引入additional-method.js文件,在其中增加自定义的方法。
使用
addMethod: name, method, message格式
name:添加方法的名字
method:是一个callback函数function(value,element,param),其中三个参数:value是元素的值,element是元素本身。param是参数
message:错误消息的提示。
比如现在我们只需要输入一个整数(0-9)的验证方法,代码如下:
自定义inr方法
$.validator.addMethod("int",function(value,element,params){ if(value.length>1){ return false; } if(value>=params[0] && value<=params[1]){ return true; }else{ return false; } }, $.validator.format( "请输入{0}至{1}的整数" ));
则在校验写入js时候,需要输入的name=”int”
int:{ int:[0,9] }
其中[0,9] 就是param参数传递的值
将此代码加入additional-method.js文件或者自定义自己的js文件
再加入到messages_zh.js文件中消息提示
结果为:
相关文章推荐
- KISSYUI的表单前端js验证和JQuery扩展插件Validate
- 表单验证代码实例:jquery.validate.js表单验证插件
- jQuery插件 -- 表单验证插件jquery.validate.js
- jquery表单验证插件(jquery.validate.js)的3种使用方式
- jQuery插件 -- 表单验证插件jquery.validate.js
- 使用jquery.validate.min.js插件进行表单验证并自定义校验规则
- jquery表单验证插件jquery.validate.js
- Jquery.validate.js表单验证插件的使用
- jquery的验证插件jquery.validate.js使用总结
- jQuery插件 -- 表单验证插件jquery.validate.js
- jQuery验证插件 ---jquery.validate.js
- 表单验证插件jquery.validate.js
- 表单验证插件jquery.validate.js
- jQuery Validate 表单验证插件----利用jquery.metadata.js将校验规则直接写在class属性里面并定义错误信息的提示
- 使用jquery.validate.js插件进行表单里控件的验证
- 表单验证插件jquery.validate.js
- 表单验证插件jquery.validate.js
- 快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
- jQuery的validate.js表单验证插件
- aspx中的表单验证 jquery.validate.js 的使用 以及 jquery.validate相关扩展验证(Jquery表单提交验证插件)