これまでのところ、私は次のことを試しました:
onNext
最初に、これif (!form.valid()) { return false; }
でもユーザーは次のタブに移動しました。onNext
- 最初に:if (!form.valid()) {
$('.error').first().focus()
false を返します。
}
それでも、ウィザードは次のタブに移動しました。
`$('.button-next').click( function (e) {
if (!form.valid()) { e.preventDefualt(); return false; } return true; }`
それでも助けにはなりません。
フォームが有効でない場合、ユーザーが別のタブに移動できないようにするにはどうすればよいですか?
ところで、検証は正常に機能します-無効なフィールドは適切に強調表示されます。
更新 - onNext 関数をコーディングする
onNext: function (tab, navigation, index) {
console.log('in on next');
if (!form.valid()) {
console.log('not valid');
$('.error').first().focus();
return false;
}
var total = navigation.find('li').length;
var current = index + 1;
// set wizard title
$('.step-title', form).text('Step ' + (index + 1) + ' of ' + total);
// set done steps
jQuery('li', form).removeClass("done");
var li_list = navigation.find('li');
for (var i = 0; i < index; i++) {
jQuery(li_list[i]).addClass("done");
}
if (current == 1) {
form.find('.button-previous').hide();
} else {
form.find('.button-previous').show();
}
if (current >= total) {
form.find('.button-next').hide();
form.find('.button-submit').show();
} else {
form.find('.button-next').show();
form.find('.button-submit').hide();
}
App.scrollTo($('.page-title'));
},