我在jquery中有这个函数来验证所有字段是否至少有一个字符被输入,我的意思是,如果它们不是空的,你可以在下面的代码中看到:
function validateStep(step){
if(step == fieldsetCount) return;
var error = 1;
var hasError = false;
$('#formElem').children(':nth-child('+ parseInt(step) +')').find(':input:not(button)').each(function(){
var $this = $(this);
var valueLength = jQuery.trim($this.val()).length;
if(valueLength == ''){
hasError = true;
}
});
var $link = $('#navigation_form li:nth-child(' + parseInt(step) + ') a');
$link.parent().find('.error,.checked').remove();
var valclass = 'checked';
if(hasError){
error = -1;
valclass = 'error';
}
$('<span class="'+valclass+'"></span>').insertAfter($link);
return error;
}
它发生在我拥有的这么大的形式中,有一个不需要的字段。我仍然有一些难以实现jquery代码,我不知道如果我可以在这个函数的中间插入,说不需要特定的字段。
有人能给我一点帮助吗?
提前致谢!
答案 0 :(得分:1)
尝试检查当前元素的ID是否与您要排除的元素的ID不匹配:
var $this = $(this);
if($this.attr('id') != 'SOMEID'){
// Validate
}
答案 1 :(得分:1)
您可以使用特定类标记所需字段,并通过具有此类“必需”的字段进行迭代,这样可以轻松更改您要检查哪些字段
我建议JörnZaefferer使用http://bassistance.de/jquery-plugins/jquery-plugin-validation/的jQuery验证插件,它使用这种技术验证表单
答案 2 :(得分:0)
我建议你使用jquery插件
例如。 http://docs.jquery.com/Plugins/Validation#demo
http://bassistance.de/2011/05/14/release-validation-plugin-1-8-1/
它会让你的工作变得轻松。
答案 3 :(得分:0)
为什么不添加属性 - isRequired = true || isRequired = false然后收集并验证属性值所需的元素?