jQuery.validate.js API
Name Type
validate( options ) Returns: Validator
驗證所選的FORM
valid( ) Returns: Boolean
檢查是否驗證通過
rules( ) Returns: Options
返回元素的驗證規則
rules( "add", rules ) Returns: Options
增加驗證規則。
rules( "remove", rules ) Returns: Options
刪除驗證規則
removeAttrs( attributes ) Returns: Options
刪除特殊屬性並且返回他們
Custom selectors
Name TypeCustom selectors:
Name Type
:blank Returns: Array <Element >
沒有值的篩選器
:filled Returns: Array <Element >
有值的篩選器
:unchecked Returns: Array <Element >
沒選擇的元素的篩選器
Utilities
Name TypeString utilities:
Name Type
jQuery.format( template, argument , argumentN... ) Returns: String
用參數代替模板中的 {n}。
Validator
validate方法返回一個Validator對象, 它有很多方法, 讓你能使用引發校驗程序或者改變form的內容. validator對象有很多方法, 但下面只是列出常用的.
Name TypeValidator methods:
Name Type
form( ) Returns: Boolean
驗證form返回成功還是失敗
element( element ) Returns: Boolean
驗證單個元素是成功還是失敗
resetForm( ) Returns: undefined
把前面驗證的FORM恢復到驗證前原來的狀態
showErrors( errors ) Returns: undefined
顯示特定的錯誤信息
There are a few static methods on the validator object:
Name TypeValidator functions:
Name Type
setDefaults( defaults ) Returns: undefined
改變默認的設置
addMethod( name, method, message ) Returns: undefined
添加一個新的驗證方法. 必須包括一個獨一無二的名字,一個JAVASCRIPT的方法和一個默認的信息
addCla***ules( name, rules ) Returns: undefined
增加組合驗證類型 在一個類裏面用多種驗證方法裏比較有用
addCla***ules( rules ) Returns: undefined
增加組合驗證類型 在一個類裏面用多種驗證方法裏比較有用,這個是一下子加多個[edit ]
List of built-in Validation methods
A set of standard validation methods is provided:
Name TypeMethods:
Name Type
required( ) Returns: Boolean
必填驗證元素
required( dependency-expression ) Returns: Boolean
必填元素依賴於表達式的結果.
required( dependency-callback ) Returns: Boolean
必填元素依賴於回調函數的結果.
remote( url ) Returns: Boolean
請求遠程校驗。url通常是一個遠程調用方法
minlength( length ) Returns: Boolean
設置最小長度
maxlength( length ) Returns: Boolean
設置最大長度
rangelength( range ) Returns: Boolean
設置一個長度範圍[min,max]
min( value ) Returns: Boolean
設置最小值.
max( value ) Returns: Boolean
設置最大值.
range( range ) Returns: Boolean
設置值的範圍
email( ) Returns: Boolean
驗證電子郵箱格式
url( ) Returns: Boolean
驗證連接格式
date( ) Returns: Boolean
驗證日期格式(類似30/30/2008的格式,不驗證日期準確性只驗證格式)
dateISO( ) Returns: Boolean
研製ISO類型的日期格式
dateDE( ) Returns: Boolean
驗證德式的日期格式(29.04.1994 or 1.1.2006)
number( ) Returns: Boolean
驗證十進制數字(包括小數的)
numberDE( ) Returns: Boolean
Makes the element require a decimal number with german format.
digits( ) Returns: Boolean
驗證整數
creditcard( ) Returns: Boolean
驗證信用卡號
accept( extension ) Returns: Boolean
驗證相同後綴名的字符串
equalTo( other ) Returns: Boolean
驗證兩個輸入框的內容是否相同
Name Type
phoneUS( ) Returns: Boolean
驗證美式的電話號碼
validate ()的可選項
debug:進行調試模式
$(".selector").validate
({
debug: true
})
把調試設置爲默認
$.validator.setDefaults({
debug: true
})
submitHandler:用其他方式替代默認的SUBMIT,比如用AJAX的方式提交
$(".selector").validate({
submitHandler: function(form) {
$(form).ajaxSubmit();
}
})
ignore:忽略某些元素不驗證
$("#myform").validate({
ignore: ".ignore"
})
rules: 默認下根據form的classes, attributes, metadata判斷,但也可以在validate函數裏面聲明
Key/value 可自定義規則. Key是對象的名字 value是對象的規則,可以組合使用 class/attribute/metadata rules.
以下代碼特別驗證selector類中name='name'是必填項並且 email是既是必填又要符合email的格式
$(".selector").validate({
rules: {
// simple rule, converted to {required:true}
name: "required",
// compound rule
email: {
required: true,
email: true
}
}
})
messages:更改默認的提示信息
$(".selector").validate({
rules: {
name: "required",
email: {
required: true,
email: true
}
},
messages: {
name: "Please specify your name",
email: {
required: "We need your email address to contact you",
email: "Your email address must be in the format of [email protected]"
}
}
})
groups:定義一個組,把幾個地方的出錯信息同意放在一個地方,用error Placement控制把出錯信息放在哪裏
$("#myform").validate({
groups: {
username: "fname lname"
},
errorPlacement: function(error, element) {
if (element.attr("name") == "fname" || element.attr("name") == "lname" )
error.insertAfter("#lastname");
else
error.insertAfter(element);
},
debug:true
})
nsubmit Boolean Default: true
提交時驗證. 設置唯false就用其他方法去驗證
Code
不用onsubmit驗證,就允許用戶無論用什麼方法去驗證,而是提交時, 用 keyup/blur/click 等方法.
$(".selector").validate({
onsubmit: false
})
onfocusout 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.
Code
Disables onblur validation.
$(".selector").validate({
onfocusout: false
})
onkeyup 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.
Code
Disables onkeyup validation.
$(".selector").validate({
onkeyup: false
})
onclick Boolean Default: true
在checkboxes 和 radio 點擊時驗證.
Code
Disables onclick validation of checkboxes and radio buttons.
$(".selector").validate({
false
})
focusInvalid 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.
Code
Disables focusing of invalid elements.
$(".selector").validate({
focusInvalid: false
})
focusCleanup Boolean Default: false
如果是true那麼刪除出錯類從出錯的元素上並且隱藏出錯信息當這個元素被聚焦 .避免和 focusInvalid.一起用
Code
Enables cleanup when focusing elements, removing the error class and hiding error messages when an element is focused.
$(".selector").validate({
focusCleanup: true
})
meta 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>
<mce:script src="http://code.jquery.com/jquery-latest.js" mce_src="http://code.jquery.com/jquery-latest.js"></mce:script>
<mce:script type="text/javascript"><!--
$(document).ready(function(){
$("#myform").validate({
meta: "validate",
submitHandler: function() { alert("Submitted!") }
})
});
// --></mce:script>
</head>
<body>
<mce:script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/lib/jquery.metadata.js" mce_src="http://dev.jquery.com/view/trunk/plugins/validate/lib/jquery.metadata.js"></mce:script>
<mce:script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js" mce_src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></mce:script>
<form id="myform">
<input type="text" name="email" class="{validate:{ required: true, email:true }}" />
<br/>
<input type="submit" value="Submit" />
</form>
</body>
</html>
errorClass String Default: "error"
創建錯誤類的名字爲了去尋找存在的錯誤標籤和增加它到驗證失敗的元素中去。
Code
Sets the error class to "invalid".
$(".selector").validate({
errorClass: "invalid"
})
errorElement 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).
Code
Sets the error element to "em".
$(".selector").validate
errorElement: "em"
})
wrapper String
在出錯信息外用其他的元素包裝一層。Wrap error labels with the specified element. Useful in combination with errorLabelContainer to create a list of error messages.
Code
Wrap each error element with a list item, useful when using an ordered or unordered list as the error container.
$(".selector").validate({
wrapper: "li"
})
errorLabelContainer 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!") }
})
Name Type
validate( options ) Returns: Validator
驗證所選的FORM
valid( ) Returns: Boolean
檢查是否驗證通過
rules( ) Returns: Options
返回元素的驗證規則
rules( "add", rules ) Returns: Options
增加驗證規則。
rules( "remove", rules ) Returns: Options
刪除驗證規則
removeAttrs( attributes ) Returns: Options
刪除特殊屬性並且返回他們
Custom selectors
Name TypeCustom selectors:
Name Type
:blank Returns: Array <Element >
沒有值的篩選器
:filled Returns: Array <Element >
有值的篩選器
:unchecked Returns: Array <Element >
沒選擇的元素的篩選器
Utilities
Name TypeString utilities:
Name Type
jQuery.format( template, argument , argumentN... ) Returns: String
用參數代替模板中的 {n}。
Validator
validate方法返回一個Validator對象, 它有很多方法, 讓你能使用引發校驗程序或者改變form的內容. validator對象有很多方法, 但下面只是列出常用的.
Name TypeValidator methods:
Name Type
form( ) Returns: Boolean
驗證form返回成功還是失敗
element( element ) Returns: Boolean
驗證單個元素是成功還是失敗
resetForm( ) Returns: undefined
把前面驗證的FORM恢復到驗證前原來的狀態
showErrors( errors ) Returns: undefined
顯示特定的錯誤信息
There are a few static methods on the validator object:
Name TypeValidator functions:
Name Type
setDefaults( defaults ) Returns: undefined
改變默認的設置
addMethod( name, method, message ) Returns: undefined
添加一個新的驗證方法. 必須包括一個獨一無二的名字,一個JAVASCRIPT的方法和一個默認的信息
addCla***ules( name, rules ) Returns: undefined
增加組合驗證類型 在一個類裏面用多種驗證方法裏比較有用
addCla***ules( rules ) Returns: undefined
增加組合驗證類型 在一個類裏面用多種驗證方法裏比較有用,這個是一下子加多個[edit ]
List of built-in Validation methods
A set of standard validation methods is provided:
Name TypeMethods:
Name Type
required( ) Returns: Boolean
必填驗證元素
required( dependency-expression ) Returns: Boolean
必填元素依賴於表達式的結果.
required( dependency-callback ) Returns: Boolean
必填元素依賴於回調函數的結果.
remote( url ) Returns: Boolean
請求遠程校驗。url通常是一個遠程調用方法
minlength( length ) Returns: Boolean
設置最小長度
maxlength( length ) Returns: Boolean
設置最大長度
rangelength( range ) Returns: Boolean
設置一個長度範圍[min,max]
min( value ) Returns: Boolean
設置最小值.
max( value ) Returns: Boolean
設置最大值.
range( range ) Returns: Boolean
設置值的範圍
email( ) Returns: Boolean
驗證電子郵箱格式
url( ) Returns: Boolean
驗證連接格式
date( ) Returns: Boolean
驗證日期格式(類似30/30/2008的格式,不驗證日期準確性只驗證格式)
dateISO( ) Returns: Boolean
研製ISO類型的日期格式
dateDE( ) Returns: Boolean
驗證德式的日期格式(29.04.1994 or 1.1.2006)
number( ) Returns: Boolean
驗證十進制數字(包括小數的)
numberDE( ) Returns: Boolean
Makes the element require a decimal number with german format.
digits( ) Returns: Boolean
驗證整數
creditcard( ) Returns: Boolean
驗證信用卡號
accept( extension ) Returns: Boolean
驗證相同後綴名的字符串
equalTo( other ) Returns: Boolean
驗證兩個輸入框的內容是否相同
Name Type
phoneUS( ) Returns: Boolean
驗證美式的電話號碼
validate ()的可選項
debug:進行調試模式
$(".selector").validate
({
debug: true
})
把調試設置爲默認
$.validator.setDefaults({
debug: true
})
submitHandler:用其他方式替代默認的SUBMIT,比如用AJAX的方式提交
$(".selector").validate({
submitHandler: function(form) {
$(form).ajaxSubmit();
}
})
ignore:忽略某些元素不驗證
$("#myform").validate({
ignore: ".ignore"
})
rules: 默認下根據form的classes, attributes, metadata判斷,但也可以在validate函數裏面聲明
Key/value 可自定義規則. Key是對象的名字 value是對象的規則,可以組合使用 class/attribute/metadata rules.
以下代碼特別驗證selector類中name='name'是必填項並且 email是既是必填又要符合email的格式
$(".selector").validate({
rules: {
// simple rule, converted to {required:true}
name: "required",
// compound rule
email: {
required: true,
email: true
}
}
})
messages:更改默認的提示信息
$(".selector").validate({
rules: {
name: "required",
email: {
required: true,
email: true
}
},
messages: {
name: "Please specify your name",
email: {
required: "We need your email address to contact you",
email: "Your email address must be in the format of [email protected]"
}
}
})
groups:定義一個組,把幾個地方的出錯信息同意放在一個地方,用error Placement控制把出錯信息放在哪裏
$("#myform").validate({
groups: {
username: "fname lname"
},
errorPlacement: function(error, element) {
if (element.attr("name") == "fname" || element.attr("name") == "lname" )
error.insertAfter("#lastname");
else
error.insertAfter(element);
},
debug:true
})
nsubmit Boolean Default: true
提交時驗證. 設置唯false就用其他方法去驗證
Code
不用onsubmit驗證,就允許用戶無論用什麼方法去驗證,而是提交時, 用 keyup/blur/click 等方法.
$(".selector").validate({
onsubmit: false
})
onfocusout 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.
Code
Disables onblur validation.
$(".selector").validate({
onfocusout: false
})
onkeyup 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.
Code
Disables onkeyup validation.
$(".selector").validate({
onkeyup: false
})
onclick Boolean Default: true
在checkboxes 和 radio 點擊時驗證.
Code
Disables onclick validation of checkboxes and radio buttons.
$(".selector").validate({
false
})
focusInvalid 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.
Code
Disables focusing of invalid elements.
$(".selector").validate({
focusInvalid: false
})
focusCleanup Boolean Default: false
如果是true那麼刪除出錯類從出錯的元素上並且隱藏出錯信息當這個元素被聚焦 .避免和 focusInvalid.一起用
Code
Enables cleanup when focusing elements, removing the error class and hiding error messages when an element is focused.
$(".selector").validate({
focusCleanup: true
})
meta 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>
<mce:script src="http://code.jquery.com/jquery-latest.js" mce_src="http://code.jquery.com/jquery-latest.js"></mce:script>
<mce:script type="text/javascript"><!--
$(document).ready(function(){
$("#myform").validate({
meta: "validate",
submitHandler: function() { alert("Submitted!") }
})
});
// --></mce:script>
</head>
<body>
<mce:script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/lib/jquery.metadata.js" mce_src="http://dev.jquery.com/view/trunk/plugins/validate/lib/jquery.metadata.js"></mce:script>
<mce:script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js" mce_src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></mce:script>
<form id="myform">
<input type="text" name="email" class="{validate:{ required: true, email:true }}" />
<br/>
<input type="submit" value="Submit" />
</form>
</body>
</html>
errorClass String Default: "error"
創建錯誤類的名字爲了去尋找存在的錯誤標籤和增加它到驗證失敗的元素中去。
Code
Sets the error class to "invalid".
$(".selector").validate({
errorClass: "invalid"
})
errorElement 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).
Code
Sets the error element to "em".
$(".selector").validate
errorElement: "em"
})
wrapper String
在出錯信息外用其他的元素包裝一層。Wrap error labels with the specified element. Useful in combination with errorLabelContainer to create a list of error messages.
Code
Wrap each error element with a list item, useful when using an ordered or unordered list as the error container.
$(".selector").validate({
wrapper: "li"
})
errorLabelContainer 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!") }
})