jquery validate表单校验学习笔记

最近有个项目,用到很多的表单校验,尝试了一下jQuery.validator,甚是顺手,地址:http://plugins.jquery.com/project/validate,基本的用法:

 代码如下 复制代码

$('#formId').validate({
    debug:true, // 打开debug模式,不会真实提交,适合测试
    rules:{
        uName:"required", // 需要录入
        uNick:{
            required:true
        }, // 需要录入的另一种写法
        uBlog:{
            required:true,
            url:true
        } // 需要输入,且录入的必须是url
    },
    messages:{ // 自定义提示语文字
        uName:"请输入用户名"
    },
    submitHandler:function(form) { // 表单提交,需要jqueyr.form插件
        form.submit();
    }
}

阅读一下文档差不多就会了解,支持的校验格式有:

required:必填字段

email:电子邮件

url:合法的网址

date:日期

dateISO:日期(ISO)

number:数字

digits:整数

creditcard:信用卡号

equalTo:相同的值

accept:拥有合法后缀名的字符串

maxlength:最多长度的字符串

minlength:最少长度的字符串

rangelength:一个长度介于最小值和最大值之间的字符串

range:一个介于最小值和最大值之间的值

max:最大值

min:最小值

相对高阶一点功能:

•自定义错误提示信息
当然,你可以通过定义messages来修改提示信息,但你想偷懒又不想用默认的英文提示,直接引入默认提示文字

 代码如下 复制代码

<script src="path/to/localization/messages_cn.js" type="text/javascript"></script>

•IE6下不工作的bug
传闻IE6下,jquery.validate.js有乱码,不能正常工作,解决办法:

 代码如下 复制代码

<script src="path/to/jquery.validate.js" type="text/javascript" charset="iso-8859-1"></script>

•控制错误信息显示位置
有的时候默认的错误信息显示有问题,比如多个单选框,默认的会把错误信息显示在第一个单选框后面,页面就乱了,解决办法:

 代码如下 复制代码

errorPlacement: function(error, element) {
    if (element.is(":radio")) {
        error.appendTo(element.parent().parent("td"));
    else {
        error.appendTo(element.parent());
    }
}

当然,还可以重载invalidHandler来实现

•依赖校验

有的时候,一个输入框的校验依赖于其他条件,比如登录的时候可以通过用户名或者邮箱登录,只有当用户选择用邮箱登录时,才对邮箱输入框验证,rules中可以这样写:

 代码如下 复制代码
uMail:{
    required:{depends: function(element) {
        return true == $('#isMail').val();
    }},
    email:true
}

这样只有用户选择了用邮箱登录才会校验 邮箱项,否则不校验。

看一个实例

如果表单通过前端JS来先做预判断,然后通过JS来post到后端脚本的,则表单form标签可以不填action和method等信息。

validate初始化部分

 代码如下 复制代码

$(document).ready(function(){
    $('#form').validate({//文档加载完毕,初始化validate插件
    //这里写validate初始化的一些信息,例如rules,messages等
    });
});

validate验证、提交部分

 代码如下 复制代码

$('#form').submit(function(){//当表单被提交时,进行表单验证
    if($(this).valid() == true){
        $.post({'./script.php'});//当表单验证通过时,post到./script.php的脚本上
    }else{
        alert('验证失败');
    }
    return false; //这个很重要,靠return false来阻止html的表单动作,让所有的表单动作都交给JS来处理。
});

html的表单动作,让所有的表单动作都交给JS来处理。});

之前一直没写return false,导致总是出现个问题,例如alert()会一闪而过,后台会记录两次提交的,提交有时GET给了表单页面自己等…

时间: 2024-08-22 14:14:35

jquery validate表单校验学习笔记的相关文章

bootstrap与jQuery.validate表单校验的例子

谈谈表单校验 这大概是一种惯例,学习前台后台最开始接触的业务都是用户注册和登录.现在社会坚持以人为本的理念,在网站开发过程同样如此.User是我们面对较多的对象,也是较核心的对象.最开始的用户注册和登陆这块,也就尤为重要. 用户注册和登录其实往往比我们想象的难.就比如表单校验,里面涵盖的内容其实挺多,就前台而言,你需要了解: 1.正则表达式的基本了解 其实正则并不难,并且在学会后能带给你极大的成就感,享受那种事半功倍的效果吧. 2.ajax异步请求 在验证用户名是否存在.用户登录时账号或者密码错

jQuery Validate表单验证深入学习_jquery

之前一篇文章介绍了jQuery Validate表单验证入门的基础知识,详细内容参见<jQuery Validate表单验证入门学习>,今天这篇文章深入学习jQuery Validate表单验证,以下就是文章的全部内容: 1.用其他方式替代默认的 SUBMIT $().ready(function() { $("#signupForm").validate({ submitHandler:function(form){ alert("submitted"

jQuery Validate表单验证入门学习_jquery

本文讲述了jQuery Validate表单验证入门的基础知识,jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求,以下就是本文的全部内容,特分享给大家. 1.导入 js 库 <script src="../js/jquery.js" type="text/javascript"></script> <script src="../js/j

深入学习jQuery Validate表单验证_jquery

本文实例介绍了jQuery Validate表单验证,主要是利用jquery.metadata.js将校验规则直接写在class属性里面并定义错误信息的提示,分享给大家供大家参考,具体内容如下 1.添加一个另外一个插件jquery.metadata.js 并把校验规则写在控件里面. 2.需要改写触发校验的方式. $("#commentForm").validate({meta: "validate"}); 3.详细代码如下: <html> <hea

深入学习jQuery Validate表单验证(二)_jquery

本文实例介绍了jQuery Validate表单验证,分享给大家供大家参考,具体内容如下 一.添加一个另外一个插件jquery.validate.messages_cn.js. 改变默认提示方式. /* * Translated default messages for the jQuery validation plugin. * Language: CN * Author: Fayland Lam <fayland at gmail dot com> */ jQuery.extend(jQ

jQuery Validate表单验证插件 添加class属性形式的校验_jquery

本文实例介绍了jQuery Validate 表单验证插件,添加class属性形式的校验,分享给大家供大家参考,具体内容如下 效果如下: 一.jQuery表单验证插件,添加class属性形式的校验 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery表单验证插件----添加cla

jquery validate表单验证插件_jquery

对于初学者而言,html表单验证是一项极其琐碎的事情.要做好表单验证,需要准备以下基本要素: 1.html表单结构:包含需要校验的表单元素: 2.js逻辑控制:在需要校验的表单元素上绑定事件,如点击.获取焦点.失去焦点等事件,并设置这些事件对应的执行函数: 3.css样式设置:针对需要校验的表单元素,需要设置默认的初始样式,以及触发元素绑定事件后的变化样式. 这3类基本要素中,html表单结构的创建相对简单.表单验证的重点和难点在于如何利用js及时有效地提醒用户有关表单操作的信息.这里我参考了百

jquery validate表单验证的基本用法入门_jquery

 一. jQuery Validate 插件的介绍 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API.所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言. 该插件是由 Jörn Zaefferer 编写和维护的,他是 jQuery 团队的一名成员,是 jQuery UI 团队的主要

功能强大的jquery.validate表单验证插件_jquery

本文实例为大家分享了jquery.validate表单验证的使用方法,供大家参考,具体内容如下 1 .表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家. 1.点击表单项,显示帮助提示   2.鼠标离开表单项时,开始校验元素 3.鼠标离开后的正确.错误提示及鼠标移入时的帮助提醒 对于初学者而言,html表单验证是一项极其琐碎的事情.要做好表单验证,需要准备以下基本要素: 1).html表单结构:包含需要校验的表单元素: 2).js逻辑控制:在需要校验的表单元素上绑定事件,如点