这里,我们再说说radio、checkbox、select的验证方式。

1、用新版的写法进行验证。

<!DOCTYPE html>
<html>
<head>
<script src="js/jquery.js"></script>
<script src="js/jquery.validate.js"></script>
<script>
$().ready(function() {
$("#registerForm").validate();
});
</script>
<style>
#registerForm label.error {
margin-left: 10px;
color: red;
}
</style>
</head>
<body>
<form id="registerForm" method="get" action="">
<fieldset>
<!-- radio的验证 -->
性别 <span><br/>
男<input type="radio" id="gender_male" value="m" name="gender" required="true" data-msg-required="性别不能为空"/><br />
女<input type="radio" id="gender_female" value="f" name="gender" />
</span>
<!-- checkbox的验证 -->
<br/>最少选择两项 <span><br />
选项1<input type="checkbox" id="check_1" value="1" name="checkGroup" required="true" data-msg-required="必须选择" minlength=2 data-msg-minlength="至少选择2项"/><br />
选项2<input type="checkbox" id="check_2" value="2" name="checkGroup" /><br />
选项3<input type="checkbox" id="check_3" value="3" name="checkGroup" /><br />
</span>
<!-- select的验证 -->
<br/>下拉框 <span><br />
<select id="selectbox" name="selectbox" required="true" data-msg-required="必须选择">
<option value=""></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</span>
<p>
<input type="submit" value="提交">
</p>
</fieldset>
</form>
</body>
</html>

jv4-1.html

这种写法要注意一点,对于同一组的标签加验证规则,只能加在第一个标签里。例如性别那个标签组,规则  required="true" data-msg-required="性别不能为空"  只能放在第一个type等于radio的input里(也就是男后面的那个input),如果把验证规则放在后一个标签是无法正常验证的。

2、通过JavaScript自定义规则

<!DOCTYPE html>
<html>
<head>
<script src="js/jquery.js"></script>
<script src="js/jquery.validate.js"></script>
<script>
$().ready(function() {
$("#registerForm").validate({
rules : {
gender : {
required : true
},
checkGroup : {
required : true,
minlength:2
},
selectbox : {
required : true
}
},
messages : {
gender : {
required : '性别不能为空'
},
checkGroup : {
required : '必须选择',
minlength:'至少选择{0}项'
},
selectbox : {
required : '必须选择'
}
}
});
});
</script>
<style>
#registerForm label.error {
margin-left: 10px;
color: red;
}
</style>
</head>
<body>
<form id="registerForm" method="get" action="">
<fieldset>
<!-- radio的验证 -->
性别 <span><br/>
男<input type="radio" id="gender_male" value="m" name="gender"/><br />
女<input type="radio" id="gender_female" value="f" name="gender" />
</span>
<!-- checkbox的验证 -->
<br/>最少选择两项 <span><br />
选项1<input type="checkbox" id="check_1" value="1" name="checkGroup" /><br />
选项2<input type="checkbox" id="check_2" value="2" name="checkGroup" /><br />
选项3<input type="checkbox" id="check_3" value="3" name="checkGroup" /><br />
</span>
<!-- select的验证 -->
<br/>下拉框 <span><br />
<select id="selectbox" name="selectbox">
<option value=""></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</span>
<p>
<input type="submit" value="提交">
</p>
</fieldset>
</form>
</body>
</html>

jv4-2.html

在前面,我提到过自定义规则里rules和messages里的key用的是标签的name属性值,当时我也疑惑,为什么不直接用ID。刚才的代码,已经说明了原因。如果用的是ID,那么对于radio、checkbox这种通过name属性的值进行分组的标签,那可就没法进行验证了。

当然,如果你想让验证规则可以重用,那你也可以把它单独抽取出来,保存在一个JS文件里,然后在需要的页面引入。

接下来,说说提示语句的位置问题吧,也许你不想让提示语句显示在那个位置,那么没关系。

提示语句的位置是允许我们自定义的,十分的灵活。

<!DOCTYPE html>
<html>
<head>
<script src="js/jquery.js"></script>
<script src="js/jquery.validate.js"></script>
<script>
$().ready(function() {
$("#registerForm").validate({
rules : {
gender : {
required : true
},
checkGroup : {
required : true,
minlength:2
},
selectbox : {
required : true
}
},
messages : {
gender : {
required : '性别不能为空'
},
checkGroup : {
required : '必须选择',
minlength:'至少选择{0}项'
},
selectbox : {
required : '必须选择'
}
},
errorPlacement: function(error, element) {
if ( element.is("input[type=radio][name='gender']") )//通过选择器来判断
error.appendTo($("#eradio")); //通过选择器来查找指定元素
else if ( element.is(":checkbox") ) //这里有各种各样的查找方式,只要是满足语法的,都可以。
error.appendTo ( $("#echeckbox")); //完全可以满足你的任意位置的需求。
else
error.appendTo( $("#eother"));
}
});
});
</script>
<style>
#registerForm label.error {
margin-left: 10px;
color: red;
}
</style>
</head>
<body>
<form id="registerForm" method="get" action="">
<label id="eradio">单选提示信息:</label><br/>
<label id="echeckbox">多选提示信息:</label><br/>
<label id="eother">其他提示信息:</label><br/>
<fieldset>
<!-- radio的验证 -->
性别 <span><br/>
男<input type="radio" id="gender_male" value="m" name="gender"/><br />
女<input type="radio" id="gender_female" value="f" name="gender" />
</span>
<!-- checkbox的验证 -->
<br/>最少选择两项 <span><br />
选项1<input type="checkbox" id="check_1" value="1" name="checkGroup" /><br />
选项2<input type="checkbox" id="check_2" value="2" name="checkGroup" /><br />
选项3<input type="checkbox" id="check_3" value="3" name="checkGroup" /><br />
</span>
<!-- select的验证 -->
<br/>下拉框 <span><br />
<select id="selectbox" name="selectbox">
<option value=""></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</span>
<p>
<input type="submit" value="提交">
</p>
</fieldset>
</form>
</body>
</html>

jv4-3.html

对于提示语句的位置,就不说太多了,因为一般使用默认的位置也就行了。

只要你善用选择器,那个位置真的是任意定。

jQuery Validate(三)的更多相关文章

  1. jquery.validate+jquery.form提交的三种方式

    原文:http://www.cnblogs.com/datoubaba/archive/2012/06/06/2538873.html jquery.validate+jquery.form提交的三种 ...

  2. jQuery Validate 表单验证 — 用户注册简单应用

    相信很多coder在表单验证这块都是自己写验证规则的,今天我们用jQuery Validate这款前端验证利器来写一个简单的应用. 可以先把我写的这个小demo运行试下,先睹为快.猛戳链接--> ...

  3. jquery validate表单验证插件-推荐

    1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...

  4. 表单验证插件之jquery.validate.js

    提到表单验证的插件,第一个想到的就是jquery.validate.js,所以小生想在这里稍微详细地说一下这款插件的具体使用方法,便于理解,我直接附上整段demo的代码(没怎么调样式,主要是看js): ...

  5. jQuery Validate验证框架详解

    转自:http://www.cnblogs.com/linjiqin/p/3431835.html jQuery校验官网地址:http://bassistance.de/jquery-plugins/ ...

  6. 利用jquery.validate以及bootstrap的tooltip开发气泡式的表单校验组件

    表单校验是页面开发中非常常见的一类需求,相信每个前端开发人员都有这方面的经验.网上有很多成熟的表单校验框架,虽然按照它们默认的设计,用起来没有多大的问题,但是在实际工作中,表单校验有可能有比较复杂的个 ...

  7. jQuery验证控件jquery.validate.js使用说明

    官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 转载 ...

  8. jquery.validate.js插件使用

    jQuery验证控件jquery.validate.js使用说明+中文API 官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-valid ...

  9. jquery.validate.js表单验证

    一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ...

随机推荐

  1. pat 甲级 1053. Path of Equal Weight (30)

    1053. Path of Equal Weight (30) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue ...

  2. 【CF1015E】Stars Drawing(贪心)

    题意:给定一个n×m大小的字符矩阵,仅由‘.’和‘*’组成,询问这个图可否划分为一些由‘*’组成的十字形状,这些十字之间可以有重叠, 如果存在方案则输出每个十字中心坐标与边长度,无解输出-1 n,m& ...

  3. 图片上传封装类【包括图片上传和缩略图上传】.NET

    原文发布时间为:2009-08-30 -- 来源于本人的百度文章 [由搬家工具导入] #region 上传图片及上传缩略图    public class UpFile : System.Web.UI ...

  4. SpringTest(一)

     SpringMvcTest总结: 最近要做单元测试,所以选择的是SpringTest这个测试框架. 1.准备工作.(导入jar包)   因为使用Maven管理jar包,所以在要做单元测试的模块中的p ...

  5. 《手把手教你学C语言》学习笔记(6)---数据类型和常量

    计算机中需要保存信息,就需要数据存储,数据的存储就需要划分数据类型.主要包括:基本数据类型.指针类型.构造类型.空类型. 基本类型:整型---主要用来表示整数,可以分为无符号和有符号:又分为基本整型. ...

  6. 组队训练3回放 ——hnqw1214

    组队训练3回放 练习赛过程回放: 开场先看最后一题, 发现是专题训练时做过的网络流原题, cst照着之前的打一遍,第一遍WA, 发现数组开小了,改大后AC. 这时候qw看B题, 一开始想不到方法, c ...

  7. linux grep 搜索查找

    查找关键字在哪些文件夹中的哪些文件中出现(只列出文件名称): grep -l 15386257298 */* 查找关键字在哪些文件夹中的哪些文件中出现(列出文件名称+关键字): grep -o 153 ...

  8. Jenkins强制设置语言为中文

    解决方法如下: 1.使用中文版的google浏览器,并确定把语言设置成了中文.语言配置在设置页.如下: 2.直接设置jenkins的语言.强制性. 前提:先安装插件:Locale plugin 配置如 ...

  9. mysql之group by,order by

    写在前面 上篇文章介绍mysql的增删改查操作,这篇将介绍group和order by操作. 系列文章 mysql之创建数据库,创建数据表 mysql之select,insert,delete,upd ...

  10. TypeError at /post/ render_to_response() got an unexpected keyword argument 'context_instance'

    Exception Type: TypeError at /post/ Exception Value: render_to_response() got an unexpected keyword ...