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