1
我正在使用jquery驗證器,輸入字段爲空並顯示其值爲空,但jquery valid()方法始終返回true。實際上,表單中有幾個選項卡,每次點擊下一個選項卡時都會顯示,之前會隱藏。所以,我們不能驗證所有形式一次我的驗證規則給定爲:jquery驗證器的valid()方法總是返回true
$('#wizard_example_1').validate({
rules: {
link_client_name: {
required: true
},
link_page_url: {
required: true,
url: true
},
link_title: {
required: true
},
link_message: {
required: true
},
link_text: {
required: true
},
link_url: {
required: true,
url: true
}
}
});
和jQuery代碼到specificaly檢查元素是否有效或不作爲
$('.next-btn').on('click', function (e) {
e.preventDefault();
count++;
if (obj['camp_type'] === "1") {
var valid = false;
$.each($('#link input'), function (i, v) {
var id=$(this).attr('name');
valid=$('input[name="' + $(this).attr('name') + '"]').valid();
});
if(valid) {
obj = {};
obj['camp_type'] = "1";
obj['client_name'] = $('#link_client_name').val();
obj['page_url'] = $('#link_page_url').val();
obj['title'] = $('#link_title').val();
obj['message'] = $('#link_message').val();
obj['action_text'] = $('#link_text').val();
obj['action_url'] = $('#link_action_url').val();
console.log(obj);
}else{
return false;
}
}
});
'valid'將永遠是最後一次迭代的結果'$ .each' –
好吧,我承認這一點,但如果最後一個元素是空的,那麼它應該返回false,但它返回true –
對於這樣的情況,我喜歡使用編程驗證。我已經創建了[egkyron](https://github.com/nikospara/egkyron),還有其他庫。 –