详解jQuery的表单验证插件

jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言。该插件是由 Jörn Zaefferer 编写和维护的,他是 jQuery 团队的一名成员,是 jQuery UI 团队的主要开发人员,是 QUnit 的维护人员。该插件在 2006 年 jQuery 早期的时候就已经开始出现,并一直更新至今。访问 jQuery Validate 官网,下载最新版的 jQuery Validate 插件。

下载地址:

基本语法

Validate插件需要jQuery,所以我们需要在头部引入jQuery和Validate文件

<script type="text/javascript" src="https://www.jb51.net/lib/jquery.js"></script> <script type="text/javascript" src="https://www.jb51.net/dist/jquery.validate.min.js"></script>

文件引入完毕,先写个简单的表单

<form method="get"> <fieldset> <legend>验证完整的表单</legend> <p> <label for="firstname">名字</label> <input type="text"> </p> <p> <label for="lastname">姓氏</label> <input type="text"> </p> <p> <label for="username">用户名</label> <input type="text"> </p> <p> <label for="password">密码</label> <input type="password"> </p> <p> <label for="confirm_password">验证密码</label> <input type="password"> </p> <p> <label for="email">Email</label> <input type="email"> </p> <p> <label for="agree">请同意我们的声明</label> <input type="checkbox"> </p> <p> <input type="submit" value="提交"> </p> </fieldset> </form>

然后我们开始写验证表单的代码

首先我们需要知道那个表单需要验证

$(function(){ $('#commentForm').validate(); });

然后开始写验证的规则,要注意这里选择元素是根据每个标签的name属性选择的,基本语法如下

$('#commentForm').validate({ rules: { firstname: 'required',//required 表示是必填字段 lastname: { required: true, minlength: 3 // 最小长度是3 } } });

从上面可以看出,如果一个信息只有一个验证要求可以写成一行,比如 firstname;如果有多个验证要写成像 lastname 这种形式;知道了基本的语法

在看看Validation都提供了那些校验规则

(1)、required:true 必输字段 (2)、remote:"remote-valid.jsp" 使用ajax方法调用remote-valid.jsp验证输入值 (3)、email:true 必须输入正确格式的电子邮件 (4)、url:true 必须输入正确格式的网址 (5)、date:true 必须输入正确格式的日期,日期校验ie6出错,慎用 (6)、dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性 (7)、number:true 必须输入合法的数字(负数,小数) (8)、digits:true 必须输入整数 (9)、creditcard:true 必须输入合法的信用卡号 (10)、equalTo:"#password" 输入值必须和#password相同 (11)、accept: 输入拥有合法后缀名的字符串(上传文件的后缀) (12)、maxlength:5 输入长度最多是5的字符串(汉字算一个字符) (13)、minlength:10 输入长度最小是10的字符串(汉字算一个字符) (14)、rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符) (15)、range:[5,10] 输入值必须介于 5 和 10 之间 (16)、max:5 输入值不能大于5 (17)、min:10 输入值不能小于10

我们将上面的表单验证完善一下,如下

$(function(){ $('#commentForm').validate({ rules: { firstname: { required: true, minlength: 5 }, lastname: "required", username: { required: true, rangelength: [4,6] }, password: { required: true, minlength: 4, number: true }, confirm_password: { required: true, minlength: 3, equalTo: '#password' }, email: { required: true, email: true }, } }); });

效果:

详解jQuery的表单验证插件

可以看到,这里的提示默认是英文的不太满意,将提示信息更改成中文有两种方式

第一种方式:引入语言文件(推荐)

<script type="text/javascript" src="https://www.jb51.net/dist/localization/messages_zh.js"></script>

他的提示信息是:

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} 的数值")

第二种方式:自己写提示信息

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwfywz.html