我有這樣的代碼,驗證我的形式:不要回調元素是否無效
jQuery("form#theform").validate({
rules: {
email_again: {
equalTo: "#email"
}
}
});
這個工作,但是,我需要做的功能,而email_again是不相等的。我需要訪問函數中的'元素'。
所以,我想答案可能看起來像
rules: {
email_again: {
equalTo: "#email"
invalidcallback: function(element){
// do sth with element
}
}
}
});
我不覺得這事上的文檔。
編輯:
斯帕克讓我幾乎沒有:
rules: {
email: {
required: true
},
email_again: {
equalTo: "#email"
}
},
highlight: function(element, errorClass, validClass) {
// custom code for 'email_again' field
if (element.name === "email_again") {
console.log('email_again in error');
}
// default 'highlight' code below
if (element.type === "radio") {
this.findByName(element.name).addClass(errorClass).removeClass(validClass);
} else {
$(element).addClass(errorClass).removeClass(validClass);
}
}
}
現在,我需要知道被打破規則。我需要知道,這是「equalTo」這樣我就可以找到兄弟標籤和添加一個類到它:
jQuery(element).siblings('label').addClass('error NotEqualTo');
或者,如果我有equalTo「比較」(在這種情況下#email)我可以自己做相等的比較,並做適當的addClass。
編輯的問題,我需要知道被打破的規則,添加特定的類。 –
@DougCassidy,請不要編輯問題到答案斷開的地方,而不再有意義。至於你的新請求:不,回調函數一般是爲所有規則設計的。在這個插件的5000個問題/答案中,我還沒有看到在這種情況下選擇一條規則的方法。但是,我已經向您展示瞭如何根據字段'name'有條件地應用回調...通過修改默認代碼來有條件地應用類。在這種情況下,您還必須使用'unhighlight'回調。 – Sparky