3 回答

TA貢獻1827條經(jīng)驗 獲得超8個贊
我自己遇到了這個問題。在基于步驟構建表單時,我需要有條件地驗證表單的各個部分(即某些輸入在運行時動態(tài)添加)。結果,有時一個選擇下拉列表將需要驗證,而有時則不需要。但是,在折磨結束之前,需要對其進行驗證。結果,我需要一個可靠的方法,而不是解決方法。我查閱了的源代碼jquery.validate。
這是我想出的:
通過指示驗證成功來清除錯誤
呼叫處理程序以顯示錯誤
清除所有存儲的成功或錯誤
重置整個表單驗證
這是代碼中的樣子:
function clearValidation(formElement){
//Internal $.validator is exposed through $(form).validate()
var validator = $(formElement).validate();
//Iterate through named elements inside of the form, and mark them as error free
$('[name]',formElement).each(function(){
validator.successList.push(this);//mark as error free
validator.showErrors();//remove error messages if present
});
validator.resetForm();//remove error class on name elements and clear history
validator.reset();//remove all error and success data
}
//used
var myForm = document.getElementById("myFormId");
clearValidation(myForm);
縮小為jQuery擴展:
$.fn.clearValidation = function(){var v = $(this).validate();$('[name]',this).each(function(){v.successList.push(this);v.showErrors();});v.resetForm();v.reset();};
//used:
$("#formId").clearValidation();

TA貢獻2051條經(jīng)驗 獲得超10個贊
如果您只想隱藏錯誤:
$("#clearButton").click(function() {
$("label.error").hide();
$(".error").removeClass("error");
});
如果指定了errorClass,則調(diào)用該類以隱藏error(默認)我上面使用的那個。
- 3 回答
- 0 關注
- 959 瀏覽
添加回答
舉報