jQuery验证在验证范围输入时失败

时间:2013-02-22 20:59:51

标签: jquery jquery-validate jquery-tools

我正在使用此滑块:

  

http://jquerytools.org/documentation/rangeinput/index.html

它生成的代码如下所示:

<input id="AddedValue" max="100000" min="0" name="AddedValue" type="text" data-orig-type="range" value="0" class="range">

现在,当我使用此滑块并将其设置为任何值时,它表示the value needs to be less or equal 100000。我怎样才能解决这个问题?或者是否有任何方法可以禁用此单个输入的验证?

1 个答案:

答案 0 :(得分:1)

您的问题是由您添加到输入中的minmax属性引起的。 jQuery Validate插件接受这些并认为它们是您的规则。在这种情况下,即使ignore选项被“忽略”......它仍然认为这些是有效的规则。

<input id="AddedValue" max="100000" min="0" name="AddedValue" type="text" data-orig-type="range" value="0" class="range">
  

OP:“或者是否有任何方法可以让我禁用此单曲的验证   输入?“

在显示更多代码之前,简单的解决方案是从该元素中删除minmax属性。也许您的输入滑块允许您定义最小值和最小值。另一种方式。虽然,因为它是jQueryTools包的一部分,所以我不希望任何事情遵循常规约定。

修改

似乎存在冲突,在我使用jsFiddle的简短测试中,我会说它是由jQueryTools引起的。最合乎逻辑的解决方案是从input元素中删除这些内联attributes,并使用jQuery独立声明每个插件的选项......

$(document).ready(function() {

    $('#myform').validate({  // jQuery Validate setup
        // other options,
        rules: {
            AddedValue: {
                min: 0,
                max: 100000
            }
        }
    });

    $('#AddedValue').rangeinput({  // jQueryTools Rangeinput setup
        // other options,
        min: 0,
        max: 100000
    });

});

要完全生硬,如果jQueryTools不能与其他jQuery插件一起玩,我会把它转储给别的东西。 (如果你进一步深入研究,你会发现jQueryTools自jQuery 1.3以来只有一次更新,并且几乎没有开发人员。浏览他们的用户论坛和Github网站,你会发现很少Tero对支持他的创作感兴趣,并且在过去的18个月左右,一直无法找到任何人来接管他。