1
我正在使用jquery验证器,输入字段为空并显示其值为空,但jquery valid()方法始终返回true。实际上,表单中有几个选项卡,每次点击下一个选项卡时都会显示,之前会隐藏。所以,我们不能验证所有形式一次我的验证规则给定为:jquery验证器的valid()方法总是返回true
$('#wizard_example_1').validate({
rules: {
link_client_name: {
required: true
},
link_page_url: {
required: true,
url: true
},
link_title: {
required: true
},
link_message: {
required: true
},
link_text: {
required: true
},
link_url: {
required: true,
url: true
}
}
});
和jQuery代码到specificaly检查元素是否有效或不作为
$('.next-btn').on('click', function (e) {
e.preventDefault();
count++;
if (obj['camp_type'] === "1") {
var valid = false;
$.each($('#link input'), function (i, v) {
var id=$(this).attr('name');
valid=$('input[name="' + $(this).attr('name') + '"]').valid();
});
if(valid) {
obj = {};
obj['camp_type'] = "1";
obj['client_name'] = $('#link_client_name').val();
obj['page_url'] = $('#link_page_url').val();
obj['title'] = $('#link_title').val();
obj['message'] = $('#link_message').val();
obj['action_text'] = $('#link_text').val();
obj['action_url'] = $('#link_action_url').val();
console.log(obj);
}else{
return false;
}
}
});
'valid'将永远是最后一次迭代的结果'$ .each' –
好吧,我承认这一点,但如果最后一个元素是空的,那么它应该返回false,但它返回true –
对于这样的情况,我喜欢使用编程验证。我已经创建了[egkyron](https://github.com/nikospara/egkyron),还有其他库。 –