jquery.validate对非活动选项卡的验证
我有一个表单,用来组织不同的字段。我用它来验证。例如,某些字段具有class=“required”,通知插件进行所需字段验证。最后,在提交表单之前,我验证表单以确保所有输入都是正确的。一个简单的用法,如-jquery.validate对非活动选项卡的验证,jquery,jquery-validate,jquery-ui-tabs,Jquery,Jquery Validate,Jquery Ui Tabs,我有一个表单,用来组织不同的字段。我用它来验证。例如,某些字段具有class=“required”,通知插件进行所需字段验证。最后,在提交表单之前,我验证表单以确保所有输入都是正确的。一个简单的用法,如- HTML ... <input type="text" class = "required" ... SCRIPT ... $("#frmClaim").validate();//to initilize validation ... $('#frmClaim').submit(f
HTML
...
<input type="text" class = "required" ...
SCRIPT
...
$("#frmClaim").validate();//to initilize validation
...
$('#frmClaim').submit(function () {
if($(this).valid())
{ ... }
});
...
HTML
...
试试看
var frmCl=$("#frmClaim").validate();//to initilize validation
...
$('#frmClaim').submit(function () {
if($(frmCl).valid())
{ ... }
});
像这样初始化验证以验证隐藏字段
$("#frmClaim").validate(
{ ignore: [] }
);
试试这个:
function saveStuff() {
$.validator.unobtrusive.parse('#FORMID');
var data = {};
var anyError = false;
var _frm = $('#FORMID');
var _validator = _frm.data('validator');
_validator.settings.ignore = "";
_frm.find('input, select, textarea').each(function () {
if (!_validator.element(this)) {
anyError = true;
}
});
if (anyError) {
return false;
}
//SAVE DATA CODE HERE
}
我找到了一个适合我的解决方案。其思想是迭代所有选项卡,在表单上调用validate并在发现无效选项卡时停止,或者在没有无效字段时提交表单
$("#my_form").validate({
submitHandler: function (form, evt) {
var f = $(form);
var tab = $("#my_tab_id");
var tabs_count = tab.children('ul').children('li').length;
var active = tab.tabs('option', 'active');
var invalid = false;
var validated = 0;
while (validated < tabs_count && !invalid) {
if (!f.valid()) {
invalid = true;
break;
}
active++;
active = active % tabs_count;
tab.tabs('option', 'active', active);
validated++;
}
if (!invalid)
form.submit();
else
evt.preventDefault();
},
rules: {
...
},
messages: {
...
}
});
$(“#我的表格”)。验证({
submitHandler:函数(表单,evt){
变量f=$(形式);
var tab=$(“#我的#tab_id”);
var tabs_count=tab.children('ul')。children('li')。长度;
var active=tab.tabs('option','active');
var无效=错误;
var=0;
while(已验证
你确定这就是你的意思吗?它不起作用。frmCl是对验证器的引用,调用$(frmCl)。valid()只是抛出了一个错误。很高兴我已经完成了一半。但正如预期的那样,它没有将焦点设置到有错误的选项卡上,所以我相信我必须手动检查并设置它。阅读项目站点时,这是由于1.9中默认忽略了隐藏元素。