jQuery Validate表单验证入门学习


Posted in Javascript onDecember 18, 2015

本文讲述了jQuery Validate表单验证入门的基础知识,jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求,以下就是本文的全部内容,特分享给大家。

1、导入 js 库

<script src="../js/jquery.js" type="text/javascript"></script>
<script src="../js/jquery.validate.js" type="text/javascript"></script>

2、默认校验规则

jQuery Validate表单验证入门学习

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).",
 dateDE: "Bitte geben Sie ein gültiges Datum ein.",
 number: "Please enter a valid number.",
 numberDE: "Bitte geben Sie eine Nummer ein.",
 digits: "Please enter only digits",
 creditcard: "Please enter a valid credit card number.",
 equalTo: "Please enter the same value again.",
 accept: "Please enter a value with a valid extension.",
 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}.")
},

如需要修改,可在 js 代码中加入:

jQuery.extend(jQuery.validator.messages, {
 required: "必选字段",
 remote: "请修正该字段",
 email: "请输入正确格式的电子邮件",
 url: "请输入合法的网址",
 date: "请输入合法的日期",
 dateISO: "请输入合法的日期 (ISO).",
 number: "请输入合法的数字",
 digits: "只能输入整数",
 creditcard: "请输入合法的信用卡号",
 equalTo: "请再次输入相同的值",
 accept: "请输入拥有合法后缀名的字符串",
 maxlength: jQuery.validator.format("请输入一个 长度最多是 {0} 的字符串"),
 minlength: jQuery.validator.format("请输入一个 长度最少是 {0} 的字符串"),
 rangelength: jQuery.validator.format("请输入 一个长度介于 {0} 和 {1} 之间的字符串"),
 range: jQuery.validator.format("请输入一个介于 {0} 和 {1} 之间的值"),
 max: jQuery.validator.format("请输入一个最大为{0} 的值"),
 min: jQuery.validator.format("请输入一个最小为{0} 的值")
});

推荐做法,将此文件放入 messages_cn.js 中,在页面中引入:
<script src="../js/messages_cn.js" type="text/javascript"></script>
4、使用方式
1)、将校验规则写到控件中

<script src="../js/jquery.js" type="text/javascript"></script>
<script src="../js/jquery.validate.js" type="text/javascript"></script>
<script src="../js/jquery.metadata.js" type="text/javascript"></script>

$().ready(function() {
 $("#signupForm").validate();
});


<form id="signupForm" method="get" action="">
 <p>
  <label for="firstname">Firstname</label>
  <input id="firstname" name="firstname" class="required" />
 </p>
 <p>
 <label for="email">E-Mail</label>
 <input id="email" name="email" class="required email" />
 </p>
 <p>
 <label for="password">Password</label>
 <input id="password" name="password" type="password" class="{required:true,minlength:5}" />
 </p>
 <p>
 <label for="confirm_password">确认密码</label>
 <input id="confirm_password" name="confirm_password" type="password" class="{required:true,minlength:5,equalTo:'#password'}" />
 </p>
 <p>
  <input class="submit" type="submit" value="Submit"/>
 </p>
</form>

使用 class="{}" 的方式,必须引入包:jquery.metadata.js。
可以使用如下的方法,修改提示内容:

class="{required:true,minlength:5,messages:{required:'请输入内容'}}"

在使用 equalTo 关键字时,后面的内容必须加上引号,代码如下所示:

class="{required:true,minlength:5,equalTo:'#password'}"

2)、将校验规则写到 js 代码中

$().ready(function() {
 $("#signupForm").validate({
  rules: {
 firstname: "required",
 email: {
 required: true,
 email: true
 },
 password: {
 required: true,
 minlength: 5
 },
 confirm_password: {
 required: true,
 minlength: 5,
 equalTo: "#password"
 }
 },
  messages: {
 firstname: "请输入姓名",
 email: {
 required: "请输入Email地址",
 email: "请输入正确的email地址"
 },
 password: {
 required: "请输入密码",
 minlength: jQuery.format("密码不能小于{0}个字 符")
 },
 confirm_password: {
 required: "请输入确认密码",
 minlength: "确认密码不能小于5个字符",
 equalTo: "两次输入密码不一致不一致"
 }
 }
 });
});

messages 处,如果某个控件没有 message,将调用默认的信息

<form id="signupForm" method="get" action="">
 <p>
  <label for="firstname">Firstname</label>
  <input id="firstname" name="firstname" />
 </p>
 <p>
 <label for="email">E-Mail</label>
 <input id="email" name="email" />
 </p>
 <p>
 <label for="password">Password</label>
 <input id="password" name="password" type="password" />
 </p>
 <p>
 <label for="confirm_password">确认密码</label>
 <input id="confirm_password" name="confirm_password" type="password" />
 </p>
 <p>
  <input class="submit" type="submit" value="Submit"/>
 </p>
</form>

required:true 必须有值。
required:"#aa:checked" 表达式的值为真,则需要验证。
required:function(){} 返回为真,表示需要验证。
后边两种常用于,表单中需要同时填或不填的元素。

以上就是本文的全部内容,全部介绍了jQuery Validate表单验证入门知识,之后还有一篇针对jQuery Validate表单验证的深入学习,希望大家继续关注。

Javascript 相关文章推荐
javascript 动态设置已知select的option的value值的代码
Dec 16 Javascript
js下用层来实现select的title提示属性
Feb 23 Javascript
JavaScript中的类继承
Nov 25 Javascript
js打开windows上的可执行文件示例
May 27 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
Feb 28 Javascript
微信小程序 参数传递实例代码
Mar 20 Javascript
jQuery Validate 校验多个相同name的方法
May 18 jQuery
angular学习之从零搭建一个angular4.0项目
Jul 10 Javascript
Vue-cli Eslint在vscode里代码自动格式化的方法
Feb 23 Javascript
原生JS检测CSS3动画是否结束的方法详解
Jan 27 Javascript
vue实现路由切换改变title功能
May 28 Javascript
JsonProperty 的使用方法详解
Oct 11 Javascript
jQuery定义插件的方法
Dec 18 #Javascript
jQuery Validate插件实现表单强大的验证功能
Dec 18 #Javascript
jquery实现二级导航下拉菜单效果
Dec 18 #Javascript
学习jQuey中的return false
Dec 18 #Javascript
jquery判断复选框选中状态以及区分attr和prop
Dec 18 #Javascript
js判断移动端是否安装某款app的多种方法
Dec 18 #Javascript
javascript实现保留两位小数的多种方法
Dec 18 #Javascript
You might like
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
zend framework中使用memcache的方法
2016/03/04 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
PHP设计模式之迭代器模式
2016/06/17 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
laravel migrate初学常见错误的解决方法
2017/10/11 PHP
jquery 表格分页等操作实现代码(pagedown,pageup)
2010/04/11 Javascript
用JavaScript对JSON进行模式匹配(Part 1-设计)
2010/07/17 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
2014/04/30 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
工厂模式在JS中的实践
2017/01/18 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
vue中eventbus被多次触发以及踩过的坑
2017/12/02 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
Python实现压缩与解压gzip大文件的方法
2016/09/18 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
python的命名规则知识点总结
2019/10/04 Python
Django用户身份验证完成示例代码
2020/04/03 Python
Python基于pip实现离线打包过程详解
2020/05/15 Python
python打包生成so文件的实现
2020/10/30 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
一份婚庆公司创业计划书
2014/01/11 职场文书
新法人代表任命书
2014/06/06 职场文书
单位活动策划方案
2014/08/17 职场文书
雷峰塔导游词
2015/02/09 职场文书
MySQL注入基础练习
2021/05/30 MySQL