在Jquery中验证表单的输入字段

时间:2012-08-06 13:04:09

标签: javascript jquery forms

我在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代码,我不知道如果我可以在这个函数的中间插入,说不需要特定的字段。

有人能给我一点帮助吗?

提前致谢!

4 个答案:

答案 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然后收集并验证属性值所需的元素?