[英]jQuery Validation Plugin cannot Validate on Keyup
我使用jQuery Validation Plugin,我的表單可以按以下方式進行驗證(假設我有2個字段A和B):
有用:
我單擊A並鍵入一些內容,然后刪除。 然后,我單擊B。 在這種情況下,將顯示驗證消息。
這是行不通的:
我**單擊A,不輸入任何內容。 然后,我單擊了B。在這種情況下,與字段A相關的相關驗證消息未顯示。 但我希望它顯示如上。
我嘗試在validate方法中使用onsubmit,onkeyup和onclick參數,但這沒有任何意義。 我該如何提供?
剃刀:
jQuery(function () {
$.validator.setDefaults(
$("#myform").validate({
//onsubmit: false, ???
//onkeyup: true, ???
//onclick:true, ???
onkeyup: function(element){this.element(element);},
rules: {
'Applicant.Name': "required",
'Applicant.Surname': "required"
},
messages: {
'Applicant.Name': "Please enter your Name",
'Applicant.Surname': "Please enter your Surname"
}
})
);
});
您的代碼:
jQuery(function () {
$.validator.setDefaults(
$("#myform").validate({ .... })
);
});
重要提示:你不能把.validate()
方法的內部.setDefaults()
這個不成立。
.validate()
方法用於初始化表單上的插件(帶有選項)。
.validator.setDefaults()
方法用於設置將應用於頁面上所有表單的選項,但是,此方法不會初始化任何內容。
如果要為#myform
設置選項,請僅使用#myform
.validate()
...
jQuery(function () {
$("#myform").validate({
// options only for #myform
});
});
如果要設置頁面上所有表單上使用的選項,請使用.validator.setDefaults()
。 然后在每種形式上使用.validate()
...
jQuery(function () {
$.validator.setDefaults({
// options for all forms on page
});
$("#myform").validate({
// options only for #myform
});
$("#myform2").validate({
// options only for #myform2
});
});
默認插件操作:
默認情況下,在最初由另一個事件驗證該字段之后 ,該插件才執行任何“鍵入”驗證。
因此,這是默認onkeyup
回調函數的正確修改版本,因此它將提供立即的 onkeyup
驗證。
演示: http : //jsfiddle.net/QfKk7/
onkeyup: function (element, event) {
if (event.which === 9 && this.elementValue(element) === "") {
return;
} else {
this.element(element);
}
}
您的代碼:
//onsubmit: false, ???
//onkeyup: true, ???
//onclick:true, ???
這些選項絕不能設置為true
。
說明文件:
聚焦
類型:布爾值或Function()
驗證模糊元素(復選框/單選按鈕除外) 。 如果未輸入任何內容,則將跳過所有規則,除非該字段已被標記為無效。 設置為“功能”可自行決定何時運行驗證。 布爾值true不是有效值 。
按鍵
類型:布爾值或Function()
驗證keyup上的元素 。 只要該字段未標記為無效,就不會發生任何事情。 否則,將在每個按鍵事件上檢查所有規則。 設置為false以禁用。 設置為“功能”可自行決定何時運行驗證。 布爾值true不是有效值 。
點擊
類型:布爾值或Function()
單擊驗證復選框和單選按鈕 。 只要該字段未標記為無效,就不會發生任何事情。 否則,將在每個按鍵事件上檢查所有規則。 設置為false以禁用。 設置為“功能”可自行決定何時運行驗證。 布爾值true不是有效值 。
提交
類型:布爾值或Function()
在提交時驗證表單 。 只要該字段未標記為無效,就不會發生任何事情。 否則,將在每個按鍵事件上檢查所有規則。 設置為false以禁用。 設置為“功能”可自行決定何時運行驗證。 布爾值true不是有效值 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.