jquery-validation-1.13.1(二)选项配置法

1.options-validate.html

<html>
	<head>
		<meta charset="UTF-8" />
		<script src="jquery-1.6.4.js" type="text/javascript"></script>
		<script src="jquery.validate.min.js" type="text/javascript"></script>
		<style>
			.warning {
				color: red;
			}
			.success {
				color: green;
			}
			.valid {
				color: green;
			}
		</style>
		<script language="javascript">
		<!--
		$(function(){
			$("#validate").validate({
				//如果为true,表单不会提交,而且会在控制台显示一些错误消息(需要Firebug或者Firebug lite)
				//debug: true, 
				//当表单通过验证,不提交表单,而是调用这个回调函数
				submitHandler: function(form) {
					$("#msg").html("提交表单");
					//不能使用$(form).submit();这个方法会触发另一次validatation,会使程序陷入死循环
					form.submit(); 
				},
				//当未通过验证的表单提交时,调用这个回调函数
				invalidHandler: function(event, validator) {
					$("#msg").html("共有" + validator.numberOfInvalids() + "个组件验证错误");
				},
				//使用了jQuery.not()过滤指定选择器的组件,不进行校验
				//类型为submit和reset的组件总是被忽略的,还有disabled的组件
				//ignore: ".ignore",
				//用户定义的键/值对规则。
				//键为一个组件元素的 name属性(或是一组单选/复选按钮)。
				//值为一个简单的字符串或者由规则/参数对(rule/parameter)组成的一个对象。
				//可以和 class/attribute/metadata 规则一起使用。每个规则可以指定一个依存的验证前提条件。
				rules: {
					name: {
						required: true,
						rangelength: [8, 20]
					},
					password: {
						required: true,
						rangelength: [8, 20]
					},
					passwordConfirm: {
						required: true,
						rangelength: [8, 20],
						equalTo: {
							param: "#password",
							depends: function(element) {
								return $("#password").val().length >= 8;
							}
						}
					},
					firstName: "required",
					lastName: "required"
				},
				//用户自定义的 键/值 对消息。
				//键为一个组件元素的name属性,值为该组件元素将要显示的消息。
				//该消息覆盖元素的title属性或者默认消息。
				//消息可以是一个字符串或者一个回调函数。回调函数必须在验证器的作用域中调用,将规则参数作为回调函数的第一个参数,
				//将该组件元素作为回调函数的第二个参数,且必须返回一个字符串类型的 消息。
				messages: {
					name: {
						required: "用户名不能为空",
						rangelength: function(params, element) {
							return "用户名长度必须在" + params[0] + "和" + params[1] + "之间";
						}
					},
					userName: "请输入用户姓名"
				},
				//指定错误消息分组。
				//一个组由一个任意的组名作为键,一个由空白符分割的组件元素name属性列表作为值。
				//用errorPlacement定义组消息的存放位置。 
				groups: {
					userName: "firstName lastName"
				},
				//自定义错误标签的显示位置。
				//第一个参数:一个作为jQuery对象的错误标签,第二个参数为:一个作为jQuery对象的未通过验证的表单元素。 
				errorPlacement: function(error, element) {
			    if (element.attr("name") == "firstName" || element.attr("name") == "lastName" ) {
			      error.insertAfter("#lastName");
			    } else {
			      error.insertAfter(element);
			    }
			  },
			  //提交时验证组件。当设置为false时,只能用其它的事件验证。也可以设置为一回调方法。
			  //onsubmit: false
			  //焦点离开时验证(单选/复选按钮除外)。
			  //如果组件中没有输入任何内容,所有的规则将被跳过,除非该组件已经被标记为无效的。
			  //也可以设置为一回调方法,方法有两个参数element和event
			  //onfocusout: false,
			  //当键盘按键弹起时验证。
			  //只要组件元素没有被标记成无效的,不会有反应。否则,所有的规则将在每次按键弹起时验证。 
			  //也可以设置为一回调方法,方法有两个参数element和event
			  onkeyup: false,
			  //当鼠标点击验证单选和复选按钮。
			  //也可以设置为一回调方法,方法有两个参数element和event
			  //onclick: false
			  //使用validator.focusInvalid()将焦点设置在最后一个有焦点的组件或者第一个验证不通过的组件
			  focusInvalid: false,
			  //如果为true,当组件得到焦点时,移除在该组件上的errorClass并隐藏所有错误消息。
			  //避免与focusInvalid一起使用。 -- 与focusInvalid一起使用效果更好
			  focusCleanup: true,
			  //错误消息和错误组件的样式
			  errorClass: "warning",
			  //组件验证通过时的样式
			  //validClass: "success",
			  //放置错误消息的元素类型,默认为label,使用for属性和对应的组件产生关联
			  //errorElement: "p",
			  //用一个指定的元素将错误消息元素包围。
			  //与errorLabelContainer一起创建一个错误消息列表非常有用。
			  wrapper: "li",
			  //错误消息元素的容器,用于将错误消息集中起来显示
			  //errorLabelContainer: "#error",
			  //试不出效果
			  //errorContainer: "#errorContainer",
			  //自定义消息显示的句柄。
			  //该回调函数有两个参数,第一个为errorMap,第二个参数为errorList,在validator对象的上下文中调用。
			  //参数只包含那些经过onblur/onkeyup验证的表单元素,也有可能是单个元素。
			  //除此之外,你还可以用this.defaultShowErrors()触发默认的行为。 
			  /*
			  showErrors: function(errorMap, errorList) {
			  	$("#summary").html("共有" + this.numberOfInvalids() + "个组件验证错误");
			  	this.defaultShowErrors();
			  }
			  */
			  //如果指定它,当验证通过时显示一个消息。
			  //如果是String类型的,则添加该样式到标签中,如果是一个回调函数,则参数为标签(JQuery对象)和对应的组件(DOM对象)
			  /*
			  success: function(label, input) {
			  	label.addClass("valid").text($(input).val() + " is Ok!");
			  }
			  */
			  //如何高亮显示错误组件
			  //默认为添加errorClass
			  //三个参数,第一个错误组件(DOM对象),第二个errorClass,第三个validClass
			  /*
			  highlight: function(input, errorClass, validClass) {
			  	$(input).removeClass(validClass).addClass(errorClass);
			  }
			  */
			  //和highlight操作相反,参数一致
			  /*
			  unhighlight: function(input, errorClass, validClass) {
			  	$(input).removeClass(errorClass).addClass(validClass);
			  }
			  */
			  //设置它用来跳过错误消息对title属性的引用,避免Google工具栏引起的冲突。 
			  //ignoreTitle: true
			});
		});
		
		function isFormValid() {
			alert($("#validate").valid());
		}
		
		function showFormRules() {
			alert($("#name").rules());
		}
		-->
		</script>
	</head>
	<body>
		<p id="msg"></p>
		<div id="errorContainer"></div>
		<div id="error"></div>
		<form id="validate">
			<p>
			NAME(Required,8-20):
			<input type="text" id="name" name="name" />
			</p>
			<p>
			PASSWORD(Required,8-20):
			<input type="text" id="password" name="password" title="请输入密码,长度为8-20"/>
			</p>
			<p>
			PASSWORD-CONFIRM(Required,8-20,equalTo:#password):
			<input type="text" id="passwordConfirm" name="passwordConfirm" />
			</p>
			<p>
			FIRST NAME(Required):
			<input type="text" id="firstName" name="firstName"/>
			LAST NAME(Required):
			<input type="text" id="lastName" name="lastName"/>
			</p>
			<p>
			ZipCode(Required):
			<input type="text" id="zipCode" name="zipCode" />
			</p>
			<p>
			<input type="submit" value="提交"/>	
			<input type="button" value="查看表单是否验证通过" οnclick="isFormValid();"/>
			<input type="button" value="查看表单Name组件的校验规则" οnclick="showFormRules();"/>
			</p>
		</form>
		<div id="summary"></div>
	</body>
</html>

 

2.参考资料

http://jqueryvalidation.org/documentation/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值