论坛首页 Web前端技术论坛

jquery.validate.js简介(续1)

浏览 8667 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-26   最后修改:2008-11-27

 

onsubmit onfocusout onkeyup onclick focusInvalid focusCleanup meta errorClass errorElement wrapper errorLabelContainer errorContainer showErrors errorPlacement success highlight unhighlight
Boolean Default: true
提交时验证. 设置唯false就用其他方法去验证
不用onsubmit验证,就允许用户无论用什么方法去验证,而是提交时, 用 keyup/blur/click 等方法.
$




(".selector").validate




({
   onsubmit: false
})
Boolean Default: true
Validate elements (except checkboxes/radio buttons) on blur. If nothing is entered, all rules are skipped, except when the field was already marked as invalid.
Disables onblur validation.
$




(".selector").validate




({
   onfocusout: false
})
Boolean Default: true
在keyup时验证. As long as the field is not marked as invalid, nothing happens. Otherwise, all rules are checked on each key up event.
Disables onkeyup validation.
$




(".selector").validate




({
   onkeyup: false
})
Boolean Default: true
在checkboxes 和 radio 点击时验证.
Disables onclick validation of checkboxes and radio buttons.
$




(".selector").validate




({
   onclick: false
})
Boolean Default: true
把焦点聚焦在最后一个动作或者最近的一次出错上via validator.focusInvalid(). The last active element is the one that had focus when the form was submitted, avoiding to steal its focus. If there was no element focused, the first one in the form gets it, unless this option is turned off.
Disables focusing of invalid elements.
$




(".selector").validate




({
   focusInvalid: false
})
Boolean Default: false
如果是true那么删除出错类从出错的元素上并且隐藏出错信息当这个元素被聚焦 .避免和 focusInvalid.一起用
Enables cleanup when focusing elements, removing the error class and hiding error messages when an element is focused.
$




(".selector").validate




({
   focusCleanup: true
})
String
为了元数据使用其他插件你要包装 你的验证规则 在他们自己的项目中可以用这个特殊的选项
Tell the validation plugin to look inside a validate-property in metadata for validation rules.
$




("#myform").validate




({
   meta: "validate",
   submitHandler: function() { alert("Submitted!") }
})
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd




">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js




"></script>
  
  <script>
  $(document).ready(function(){
    $




("#myform").validate




({
   meta: "validate",
   submitHandler: function() { alert("Submitted!") }
})
  });
  </script>
  
</head>
<body>
  <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/lib/jquery.metadata.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
<form id="myform">
  <input type="text" name="email" class="{validate:{ required: true, email:true }}" />
  <br/>
  <input type="submit" value="Submit" />
</form>
</body>
</html>
String Default: "error"
创建错误类的名字为了去寻找存在的错误标签和增加它到验证失败的元素中去。
Sets the error class to "invalid".
$




(".selector").validate




({
   errorClass: "invalid"
})
String Default: "label"
设置错误的元素,默认的是label你可以改成em.Use this element type to create error messages and to look for existing error messages. The default, "label", has the advantage of creating a meaningful link between error message and invalid field using the for attribute (which is always used, no matter the element type).
Sets the error element to "em".
$




(".selector").validate




({
   errorElement: "em"
})
String
在出错信息外用其他的元素包装一层。Wrap error labels with the specified element. Useful in combination with errorLabelContainer to create a list of error messages.
Wrap each error element with a list item, useful when using an ordered or unordered list as the error container.
$




(".selector").validate




({
   wrapper: "li"
})
Selector
把错误信息统一放在一个容器里面。Hide and show this container when validating.
All error labels are displayed inside an unordered list with the ID "messageBox", as specified by the selector passed as errorContainer option. All error elements are wrapped inside an li element, to create a list of messages.
$




("#myform").validate




({
   errorLabelContainer: "#messageBox",
   wrapper: "li",
   submitHandler: function() { alert("Submitted!") }
})
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd




">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js




"></script>
  
  <script>
  $(document).ready(function(){
    $




("#myform").validate




({
   errorLabelContainer: "#messageBox",
   wrapper: "li",
   submitHandler: function() { alert("Submitted!") }
})
  });
  </script>
  
</head>
<body>
  <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
<ul id="messageBox"></ul> 
 <form id="myform" action="/login" method="post"> 
   <label>Firstname</label> 
   <input name="fname" class="required" /> 
   <label>Lastname</label> 
   <input name="lname" title="Your lastname, please!" class="required" /> 
   <br/>
   <input type="submit" value="Submit"/>
 </form>
</body>
</html>
Selector
显示或者隐藏验证信息
使用一个额外的容器去显示错误信息
Uses an additonal container for error messages. The elements given as the errorContainer are all shown and hidden when errors occur. But the error labels themselve are added to the element(s) given as errorLabelContainer, here an unordered list. Therefore the error labels are also wrapped into li elements (wrapper option).
$




("#myform").validate




({
   errorContainer: "#messageBox1, #messageBox2",
   errorLabelContainer: "#messageBox1 ul",
   wrapper: "li", debug:true,
   submitHandler: function() { alert("Submitted!") }
})
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd




">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js




"></script>
  
  <script>
  $(document).ready(function(){
    $




("#myform").validate




({
   errorContainer: "#messageBox1, #messageBox2",
   errorLabelContainer: "#messageBox1 ul",
   wrapper: "li", debug:true,
   submitHandler: function() { alert("Submitted!") }
})
  });
  </script>
  <style>#messageBox1, #messageBox2 { display: none }</style>
</head>
<body>
  <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
<div id="messageBox1"> 
  <ul></ul> 
</div> 
<form id="myform" action="/login" method="post"> 
  <label>Firstname</label> 
  <input name="fname" class="required" /> 
  <label>Lastname</label> 
  <input name="lname" title="Your lastname, please!" class="required" />
  <br/>
  <input type="submit" value="Submit"/>
</form> 
<div id="messageBox2"> 
  <h3>There are errors in your form, see details above!</h3> 
</div>
</body>
</html>
Callback Default: None, uses built-in message disply.

得到错误的显示句柄

 Gets the map of errors as the first argument and and array of errors as the second, called in the context of the validator object. The arguments contain only those elements currently validated, which can be a single element when doing validation onblur/keyup. You can trigger (in addition to your own messages) the default behaviour by calling this.defaultShowErrors().

Update the number of invalid elements each time an error is displayed. Delegates to the default implementation for the actual error display.
$




(".selector").validate




({
   showErrors: function(errorMap, errorList) {
		$("#summary").html("Your form contains " + this.numberOfInvalids() + " errors, see details below.");
		this.defaultShowErrors();
	}
 })
Callback Default: 把错误label放在验证的元素后面
可选错误label的放置位置. First argument: The created error label as a jQuery object. Second argument: The invalid element as a jQuery object.
Use a table layout for the form, placing error messags in the next cell after the input.
$




("#myform").validate




({
  errorPlacement: function(error, element) {
     error.appendTo( element.parent("td").next("td") );
   },
   debug:true
 })
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd




">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js




"></script>
  <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
  <script>
  $(document).ready(function(){
    $




("#myform").validate




({
  errorPlacement: function(error, element) {
     error.appendTo( element.parent("td").next("td") );
   },
   debug:true
 })
  });
  </script>
  
</head>
<body>
  <form id="myform" action="/login" method="post">
	<table>
		<tr>
			<td><label>Firstname</label>
			<td><input name="fname" class="required" value="Pete" /></td>
			<td></td>
		</tr>
		<tr>
			<td><label>Lastname</label></td>
			<td><input name="lname" title="Your lastname, please!" class="required" /></td>
			<td></td>
		</tr>
		<tr>
			<td></td><td><input type="submit" value="Submit"/></td><td></td>
	</table>
</form>
</body>
</html>
String , Callback
成功时的class.If specified, the error label is displayed to show a valid element. If a String is given, its added as a class to the label. If a Function is given, its called with the label (as a jQuery object) as its only argument. That can be used to add a text like "ok!".
添加"valid" 到验证验证元素, 在CSS中定义的样式
$




("#myform").validate




({
   success: "valid",
   submitHandler: function() { alert("Submitted!") }
})
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd




">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js




"></script>
  <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
  <script>
  $(document).ready(function(){
    $




("#myform").validate




({
   success: "valid",
   submitHandler: function() { alert("Submitted!") }
})
  });
  </script>
  <style>label.valid {
	background: url('http://dev.jquery.com/view/trunk/plugins/validate/demo/images/checked.gif') no-repeat;
	height:16px;
	width:16px;
	display: block;
	position: absolute;
	top: 4px;
	left: 152px;
}</style>
</head>
<body>
  
<form id="myform">
  <input type="text" name="email" class="required" />
  <br/>
  <input type="submit" value="Submit" />
</form>
</body>
</html>
添加"valid" 到验证验证元素, 在CSS中定义的样式,并加入“ok”的文字
$




("#myform").validate




({
   success: function(label) {
     label.addClass("valid").text("Ok!")
   },
   submitHandler: function() { alert("Submitted!") }
})
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd




">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js




"></script>
  <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>
  <script>
  $(document).ready(function(){
    $




("#myform").validate




({
   success: function(label) {
     label.addClass("valid").text("Ok!")
   },
   submitHandler: function() { alert("Submitted!") }
})
  });
  </script>
  <style>label.valid {
	background: url('http://dev.jquery.com/view/trunk/plugins/validate/demo/images/checked.gif') no-repeat;
	height:16px;
	width:16px;
	display: block;
	position: absolute;
	top: 4px;
	left: 152px;
	padding-left: 18px;
}</style>
</head>
<body>
  
<form id="myform">
  <input type="text" name="email" class="required" />
  <br/>
  <input type="submit" value="Submit" />
</form>
</body>
</html>
Callback Default: Adds errorClass (see the option) to the Element
高亮显示错误信息。 或者说重写出错时的出错元素的显示。Override to decide which fields and how to highlight.
Highlights an invalid element by fading it out and in again.
$




(".selector").validate




({
  highlight: function(element, errorClass) {
     $(element).fadeOut(function() {
       $(element).fadeIn()
     })
  }
})
Adds the error class to both the invalid element and it's label
$




(".selector").validate




({
  highlight: function(element, errorClass) {
     $




(element).addClass(errorClass);
     $




(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
  },
  unhighlight: function(element, errorClass) {
     $




(element).removeClass(errorClass);
     $




(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
  }
});
Callback Default: 默认是去掉error类
Called to revert changes made by option highlight, same arguments as highlight.
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics