【发布时间】:2014-02-06 17:58:55
【问题描述】:
所以我有一个引导向导,其中包含一些选定的选择框。我添加了 ignore: ':hidden:not(select)' 以允许 jquery validate 验证选择。
这使这些框有效,但..不是正确的步骤。它会在每一步验证所有选择的框!
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()是您页面上插件的一次性 初始化,因此您不能动态 更改ignore选项,如果这是你想做什么。您的设置适用于整个表单,以后无法更改。您只能使用.rules('add')方法动态更改规则。因此,当您设置该步骤时,只需将required添加到您需要验证的隐藏字段中。然后在下一步,使用.rules('remove')等。 -
我有点理解你在说什么,但我发现很难把它变成代码。我在 onNext 函数中说我有 if(index==3) { 并在此处添加规则和} else { 在此处删除规则} 是否正确。那是正确的做法吗?
标签: twitter-bootstrap jquery-validate wizard jquery-chosen