0
所以我有一個步驟與一些選定的選擇框引導向導。我添加了忽略:':hidden:not(select)'以允許jquery驗證來驗證所選內容。jquery驗證啓動向導與選擇?
這使箱子驗證,但沒有在正確的一步。它驗證每一步中所有選擇的框!
var $validator = $("#register").validate({
ignore: ':hidden:not(select)',
rules: {
country: {
required: true
}
}
});
$('#registerwiz').bootstrapWizard({
'onNext': function(tab, navigation, index) {
var $total = navigation.find('li').length;
var $current = index+1;
var $percent = ($current/$total) * 100;
var $valid = $("#register").valid();
if(!$valid) {
$validator.focusInvalid();
return false;
} else {
$('#registerwiz').find('.progress-bar').css({width:$percent+'%'});
}
}
});
所以我想知道如何才能讓它只驗證在特定步驟選擇框。
並且如果可能的話還會在錯誤警告出現在未選擇的框中。
由於'.validate()'是頁面上的插件的_ONE-time_初始化,你不能_dynamically_改變'ignore'選項,如果這是你在做什麼。您的設置適用於整個表單,以後無法更改。您只能使用'.rules('add')'方法動態更改規則。所以當你設置這個步驟時,只需要'required'來僅僅需要驗證的隱藏字段。然後在下一步中,使用'.rules('remove')'等。 – Sparky
我有點理解你在說什麼,但我很難將它變成代碼。我是否正確地在onNext函數中說if(index == 3){並且在這裏添加規則並且} else {在這裏刪除規則}。這是正確的做法嗎? – user1919077