jquery 验证仅验证第一个字段 - 其他字段被忽略

Posted

技术标签:

【中文标题】jquery 验证仅验证第一个字段 - 其他字段被忽略【英文标题】:jquery validation only validates first field - others are ignored 【发布时间】:2013-09-30 00:12:09 【问题描述】:

我正在使用jQuery validation plugin,它应该验证表单中的所有输入,但它在第一个输入处停止。如果您单击第二个输入并将其留空 - 一切正常 - 它验证...否则 - 不...

我找到了一些相同的答案 - 没有成功...

这是我写的例子的小提琴

FiddleError

//
//  jQuery Validate example script
//
//  Prepared by David Cochran
//
//  Free for your use -- No warranties, no guarantees!
//

$(document).ready(function()

// Validate
// http://bassistance.de/jquery-plugins/jquery-plugin-validation/
// http://docs.jquery.com/Plugins/Validation/
// http://docs.jquery.com/Plugins/Validation/validate#toptions

    $('.validate').validate(
        highlight: function(element) 
            $(element).parent().removeClass('has-success').addClass('has-error');
        ,
        success: function(element) 
            element.closest().removeClass('has-error').addClass('has-success');
        
  );

); // end document.ready`enter code here`

使用:

引导程序 jQuery jQuery 验证

【问题讨论】:

【参考方案1】:

在字段中使用name 而不是id

<div class="form-group">
    <label class="control-label" for="login_id">Login id:</label>
    <input type="text" class="form-control required" name="login_id">
</div>
<div class="form-group">
    <label class="control-label" for="password">Password:</label>
    <input type="password" class="form-control required" name="password">
    <div class="forgot"> <a href="#">
                    Forgot your password?
                </a>

    </div>
</div>

演示:Fiddle

【讨论】:

嗯.. 那是 akward :D 非常感谢 :) @ModestasMV,如果它解决了您的问题,请“接受”这个答案。 @Sparky 真的很抱歉,但我该怎么做呢?成立:D @Modestas,你已经通过点击绿色复选标记完成了。 @Sparky 编辑了我该怎么做才能成立 :) 无论如何谢谢【参考方案2】:

您的代码没有告诉 .validate() 哪些字段是必需的。来自插件文档:http://jqueryvalidation.org/required-method

将字段设为必填:

$( "#myform" ).validate(
  rules: 
    fruit: 
      required: true
    
  
);

在这种情况下,名为“fruit”的字段是必需的。

【讨论】:

好吧,我的表单告诉代码验证字段,所以这不是问题:) 这是一种方式,是的,但我认为将属性 required 放在字段本身中会更容易:&lt;input type="text" name="firstname" required&gt;。如果您使用类,这也适用,例如:&lt;input type="text" name="firstname" class="required"&gt;

以上是关于jquery 验证仅验证第一个字段 - 其他字段被忽略的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Validation - 仅验证来自多个必填字段的 2 个字段 [重复]

仅当其他 simple_form 字段等于某个输入时才验证存在?

仅使用 HTML5 表单验证验证可见字段?

使用 Jquery each() 循环输入字段以进行验证

使用 jquery 验证动态输入字段

jquery 远程验证 - 验证字段中的数据是不是