JQuery扩展插件Validate—6 radio、checkbox、select的验证_jquery

效果如下所示:


解决这个问题的办法是将错误信息指定到一个特定的位置,validate()方法的参数中可以进行自定义,示例代码如下:

复制代码 代码如下:

<script type="text/javascript">
jQuery.validator.addMethod("regex", //addMethod第1个参数:方法名称
function(value, element, params) { //addMethod第2个参数:验证方法,
                    //验证方法参数(被验证元素的值,被验证元素,参数)
var exp = new RegExp(params); //实例化正则对象,参数为用户传入的正则表达式
return exp.test(value); //测试是否匹配
},
"格式错误");

$(function() {
$("#signupForm").validate(

{
rules: {
txtPassword1: "required", //密码1必填

txtPassword2: { //密码2的描述多于1项使用对象类型
required: true, //必填,这里可以是一个匿名方法
equalTo: "#txtPassword1", //必须与密码1相等
rangelength: [5, 10], //长度5-10之间
regex: "^\\w+$" //使用自定义的验证规则
},

txtEmail: "email", //电子邮箱必须合法
sex: "required"
},
messages: { //对应上面的错误信息
txtPassword1: "您必须填写",

txtPassword2: {
required: "您必须填写",
equalTo: "密码不一致",
rangelength: "长度必须介于{0} 和 {1} 之间的字符串",
regex: "密码只能是数字、字母与下划线"
}
},
      
//在上例中新增的部分
errorPlacement: function(error, element) { //指定错误信息位置
if (element.is(':radio') || element.is(':checkbox')) { //如果是radio或checkbox
var eid = element.attr('name'); //获取元素的name属性
error.appendTo(element.parent()); //将错误信息添加当前元素的父结点后面
} else {
error.insertAfter(element);
}
},

debug: false, //如果修改为true则表单不会提交
submitHandler: function() {
alert("开始提交了");
}
});
});
</script> <p>
<label for="sex">
性别</label>
<input type="radio" id="rdoFemale" name="sex" />男
<input type="radio" id="rdoMale" name="sex" />女
</p>

运行结果如下:

此外:如果在参数中加上debug:true则只用于调试表单不会提交到服务器; submitHandler: function() {}将会在表单提交到服务器前执行一些操作;用remote可以进行Ajax验证,好像有个小bug;在使用ASP.NET与validate组合使用时会有一些问题可以参考网友的博文。 
源码下载 

时间: 2024-12-02 10:01:17

JQuery扩展插件Validate—6 radio、checkbox、select的验证_jquery的相关文章

JQuery扩展插件Validate 3通过参数设置错误信息_jquery

最终显示在页面上的错误分为两种:第一种是默认错误信息,该信息已经被定义在插件中了,可以手动修改. 第二种是通过参数指定的错误信息,如果没有指定则会使用默认的错误信息.将上个示例的js修改如下: 复制代码 代码如下: <script type="text/javascript"> $(function() { $("#signupForm").validate( //在上例中新增的部分 { rules: { txtPassword1: "requ

JQuery扩展插件Validate—4设置错误提示的样式_jquery

我们先来使用firebug查看在前面的示例中JS产生的html错误提示:   从图中我们发现错误信息是被放在了一个label标签中,且有一个类样式error,只要为signupform下面的label标签中的error定css样式,应该就可以修改显示结果了,添加的css代码如下: 复制代码 代码如下: <style type="text/css"> * { font-size: 14px; } #signupForm label.error { color:Red; fon

JQuery扩展插件Validate 添加自定义验证方法

validate中自带的验证方法足以满足一般的要求,对于特别的要求可以使用addMethod(name,method,message)添加自定义的验证规则,下面的示例中添加了一个用于正则表达式验证的扩展验证的方法,示例如下: <script type="text/网页特效">         jQuery.validator.addMethod("regex",  //addMethod第1个参数:方法名称         function(value,

JQuery扩展插件Validate 5添加自定义验证方法_jquery

示例如下: 复制代码 代码如下: <script type="text/javascript"> jQuery.validator.addMethod("regex", //addMethod第1个参数:方法名称 function(value, element, params) { //addMethod第2个参数:验证方法,参数(被验证元素的值,被验证元素,参数) var exp = new RegExp(params); //实例化正则对象,参数为传

JQuery扩展插件Validate 1 基本使用方法并打包下载_jquery

分别是: <script src="../Contents/JS/jquery-1.5.js" type="text/javascript"></script> <script src="../Contents/JS/jquery.validate.min.js" type="text/javascript"></script> 1.基本使用方法,通过样式设置验证规则 复制代码

JQuery扩展插件Validate 2通过参数设置验证规则_jquery

代码如下: 复制代码 代码如下: <script type="text/javascript"> $(function() { $("#signupForm").validate( //在上例中新增的部分 { rules: { txtPassword1: "required", //密码1必填 txtPassword2: { //密码2的描述多于1项使用对象类型 required: true, //必填,这里可以是一个匿名方法 equ

jQuery根据ID获取input、checkbox、radio、select的示例_jquery

input: var xxx = $('#ID').val() --------------------------------------------------------------------------------- checkbox: var xxx = [ ]; $('input[name=MyName]:checked).each(function(index, element) { xxx.push($(element).val()); // 或者 xxx.push($(thi

jquery自定义插件——window的实现【示例代码】_jquery

本例子实现弹窗的效果: 1.jquery.show.js /* * 实现功能:点击在鼠标位置显示div * 版本序号:1.0 */ (function($){ $.fn.showDIV = function(options){ var defaults = {}; var options = $.extend(defaults, options); var showdiv=$(this); var close, title, content; close=$(" "); title=$

jquery.uploadify插件在chrome浏览器频繁崩溃解决方法_jquery

jquery.uploadify插件在chrome浏览器频繁崩溃问题,一直困扰了好久,网上很多人说是由于chrome缓存的原因,插件初始化时,需要引用js,而chrome的缓存导致没有没有请求到jquery.uploadify-3.1_min.js,所以引起崩溃,可以在引用js时,加入随机数:<script type="text/javascript" src="/js/jquery.uploadify-3.1_min.js?ver=<?php echo rand