我有一個僞選擇元素的形式。僞選擇元素是一個下拉菜單。當其中一個下拉項目被點擊時,隱藏的輸入會被分配給該項目的值。我使用jQuery.validate來驗證表單。一個簡單的驗證規則綁定到隱藏的輸入。如果輸入沒有值,則隱藏輸入和僞選擇將被賦予一個錯誤類別,並顯示錯誤消息。jQuery.validate和隱藏輸入
我的問題是,更改隱藏輸入的值不會觸發更改,鍵入或模糊事件。如果將錯誤狀態應用於隱藏的輸入,則在輸入被賦予有效值後,該狀態將保留。只有當表單再次提交時,輸入才能正確驗證。
由於jQuery.validate啓用隱藏輸入驗證,我想知道是否有配置或方法來處理這個問題。
編輯:
$form.validate({
ignore: false,
rules: {
'firstname': 'required',
'lastname': 'required',
'org': 'required',
'role': 'required',
'email': {
required: true,
email: true
}
},
messages: {
'firstname': 'Please enter your first name',
'lastname': 'Please enter your last name',
'org': 'Please enter your organization',
'role': 'Please select your role',
'email': 'Please enter your email'
},
errorPlacement: function(error, element) {
var $errMessage = $('.js-err-message');
$errMessage.removeClass('js-hidden');
$(error).each(function(){
$errMessage.append(error);
if (element.is('#role-input')) {
$('.pseudo-select').addClass('mad-error');
}
});
}
});
你最好發佈所有相關的代碼 – 2014-12-01 15:39:48
對不起,我不認爲代碼是嚴格相關的。我的問題是關於一般jQuery.validate的功能,而不是關於我的代碼的問題。 – maxhallinan 2014-12-02 15:06:12
相關代碼將包含重現此問題所需的_any_代碼。在你的情況下,當他們爲他們的答案創建演示時,它可以節省時間。如果他們遇到類似的問題,它還可以幫助未來的讀者更好地理解問題/解決方案。謝謝。 – Sparky 2014-12-02 23:38:27