分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

JQuery.Validate学习笔记

发布时间:2023-09-06 01:13责任编辑:蔡小小关键词:暂无标签

JQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。

使用JQuery Validate之前首先引入以下两个文件:jquery-1.11.1.js jquery.validate.js。下载链接:https://jqueryvalidation.org。

菜鸟教程提供的 1.14.0 版本下载地址:http://static.runoob.com/download/jquery-validation-1.14.0.zip

直接上实例,html代码如下:

 <div id="form_con"> ????????????????<form class="cmxform" id="myform" method="post" action=""> ???????????<table cellspacing="0" cellpadding="0"> ???????????????<tbody> ???????????????????<tr> ???????????????????????<td>用户名</td> ???????????????????????<td><input type="text" id="username" name="username" class="required" /></td> ???????????????????????<td></td> ???????????????????</tr> ???????????????????<tr> ???????????????????????<td>密码</td> ???????????????????????<td><input id="password" type="password" name="firstpwd" /></td> ???????????????????????<td></td> ???????????????????</tr> ???????????????????<tr> ???????????????????????<td>验证密码</td> ???????????????????????<td><input type="password" name="secondpwd" /></td> ???????????????????????<td></td> ???????????????????</tr> ???????????????????<tr> ???????????????????????<td>性别</td> ???????????????????????<td><input id="sex" type="radio" name="sex" />男<input type="radio" name="sex" />女</td> ???????????????????????<td></td> ???????????????????</tr> ???????????????????<tr> ???????????????????????<td>年龄</td> ???????????????????????<td><input type="text" name="age" /></td> ???????????????????????<td></td> ???????????????????</tr> ???????????????????<tr> ???????????????????????<td>邮箱</td> ???????????????????????<td><input type="text" name="email" /></td> ???????????????????????<td></td> ???????????????????</tr> ???????????????????????????????????????<tr> ???????????????????????<td>时间</td> ???????????????????????<td><input type="date" name="time" /></td> ???????????????????????<td></td> ???????????????????</tr> ???????????????????<tr> ???????????????????????<td>个人网页</td> ???????????????????????<td><input type="text" name="purl" /></td> ???????????????????????<td></td> ???????????????????</tr> ???????????????????<tr> ???????????????????????<td>电话</td> ???????????????????????<td><input type="text" name="telephone" /></td> ???????????????????????<td></td> ???????????????????</tr> ???????????????????<tr> ???????????????????????<td>附件</td> ???????????????????????<td><input type="file" name="afile"/></td> ???????????????????????<td></td> ???????????????????</tr> ???????????????????<tr><td colspan="3" ><input type="submit" name="submit" value="提交" /><button>重置</button></td></tr> ???????????????</tbody> ?????????????????????</table> ???????</form> ?</div> ?

新建一个validated.js文件用于验证以上表单数据:

$(function(){ ????var validator = $("#myform").validate({ ???????debug: true, ??????//调试模式取消submit的默认提交功能 ???????errorClass: "haha", //默认为错误的样式类为:error ???????focusInvalid: false, ????????????????focusCleanup: true, ???????onkeyup: false, ???????????????errorElement: "span", ?????????submitHandler: function(form) { ??//表单提交句柄,为一回调函数,带一个参数:form ???????????alert("提交表单"); ???????????form.submit(function() ???????????{ ???????????????return false; ???????????}); ??//提交表单 ???????}, ???????rules: { ??????????//定义验证规则,其中属性名为表单的name属性 ???????????username: { ???????????????required: true, ???????????????minlength: 2, ??????????????????????????????????remote: { ???????????????????url: "js/test.txt", ????//后台处理程序 ???????????????????type: "get", ??????????????//数据发送方式 ???????????????????//dataType: "text", ??????????//接受数据格式 ??????????????????????data: { ????????????????????//要传递的数据 ???????????????????????username: function() { ???????????????????????????return $("#username").val(); ????????????????????????} ???????????????????} ???????????????} ???????????????//response.getwrite().write("true") ???????????}, ???????????firstpwd: { ???????????????required: true, ???????????????//minlength: 6 ???????????????rangelength: [6, 8] ???????????}, ???????????secondpwd: { ???????????????required: true, ???????????????equalTo: "#password" ???????????}, ???????????sex: { ???????????????required: true ???????????}, ???????????age: { ???????????????required: true, ???????????????range: [0, 120] ???????????}, ???????????email: { ???????????????required: true, ???????????????email: true ???????????}, ???????????????????????telephone:{ ???????????????????????????????required:true, ???????????????????????????????isTelephone:true ???????????????????????????}, ???????????purl: { ???????????????required: true, ???????????????url: true ???????????}, ???????????afile: { ???????????????required: true, ???????????????accept: "xls,doc,rar,zip" ???????????} ???????}, ???????messages: { ??????//自定义验证消息 ???????????username: { ???????????????required: "用户名是必需的!", ???????????????minlength: $.validator.format("用户名至少要{0}个字符!"), ???????????????remote: $.validator.format("{0}已经被占用") ??????????????????????????}, ???????????firstpwd: { ???????????????required: "密码是必需的!", ???????????????rangelength: ?$.validator.format("密码要在{0}-{1}个字符之间!") ???????????}, ???????????secondpwd: { ???????????????required: "密码验证是必需的!", ???????????????equalTo: "密码验证需要与密码一致" ???????????}, ???????????sex: { ???????????????required: "性别是必需的" ???????????}, ???????????age: { ???????????????required: "年龄是必需的", ???????????????range: "年龄必须介于{0}-{1}之间" ???????????}, ???????????email: { ???????????????required: "邮箱是必需的!", ???????????????email: "请输入正确的邮箱地址(例如 myemail@163.com)" ???????????}, ???????????????????????telephone:{ ???????????????????????????????required: "手机号码是必需的!" ???????????????????????????}, ????????????????????purl: { ???????????????required: "个人主页是必需的", ???????????????url: "请输入正确的url格式,如 http://www.domainname.com" ???????????}, ???????????afile: { ???????????????required: "附件是必需的!", ???????????????accept: "只接收xls,doc,rar,zip文件" ???????????} ???????}, ???????errorPlacement: function(error, element) { ?//验证消息放置的地方 ???????????error.appendTo(element.parent("td").next("td")); ???????}, ???????highlight: function(element, errorClass) { ?//针对验证的表单设置高亮 ???????????$(element).addClass(errorClass); ???????}, ???????success: function(label) { ???????????label.addClass("valid").text("Ok!") ???????} ????????/*, ???????errorContainer: "#error_con", ??????????????//验证消息集中放置的容器 ???????errorLabelContainer: "#error_con ul", ??????//存放消息无序列表的容器 ???????wrapper: "li", ?????????????????????????????//将验证消息用无序列表包围 ???????validClass: "valid", ???????????????????????//通过验证的样式类 ???????errorElement: "span", ????????????????????????//验证标签的名称,默认为:label ???????success: "valid" ???????????????????????????//验证通过的样式类 ???????*/ ???}); ???// 手机号码验证 ??????jQuery.validator.addMethod("isTelephone", function(value, element) { ??????????var tel = /^1[358][0-9]{9}$/; ???????return tel.test(value); ???}, "请正确填写您的手机号码"); ???????$("button").click(function() { ???????validator.resetForm(); ???});});

注意:

  1.username属性是通过远程验证的,通过remote连接后台程序进行验证。代码如下:

remote: { ???????????????????url: "js/test.txt", ????//后台处理程序 ???????????????????type: "get", ??????????????//数据发送方式 ???????????????????//dataType: "text", ??????????//接受数据格式 ??????????????????????data: { ????????????????????//要传递的数据 ???????????????????????username: function() { ???????????????????????????return $("#username").val(); ????????????????????????} ???????????????????}

 2.telephone元素的验证是自定义添加的方法,代码如下:

 // 手机号码验证 ??????jQuery.validator.addMethod("isTelephone", function(value, element) { ??????????var tel = /^1[358][0-9]{9}$/; ???????return tel.test(value); ???}, "请正确填写您的手机号码");

addmethod里面有三个参数:name   function   message。 方法名称 调用方法  提示信息。

3.设置提示信息的地方:

 errorPlacement: function(error, element) { ?//验证消息放置的地方 ???????????error.appendTo(element.parent("td").next("td")); ???????},

 可将常用的验证方法收集好,写成一个js文件,一般写在 additional-methods.js 文件中,方便以后自己代码调用。未完待续。。。

JQuery.Validate学习笔记

原文地址:http://www.cnblogs.com/sagacity-shen/p/7589219.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved