3

jQuery 验证似乎适用于min="1"and min="-1",但不适用于min="0". 考虑这个jsFiddle。它在第一个元素和第三个元素中适当地反对​​值 -5 input,但在第二个元素中接受 -5,其中min="0".

-1 和 1 很好。 0 不是

这是 jQuery 验证中的错误还是我忽略了什么?

<form id="myform">
  <input type="text" name="negativeone" min="-1"/>
  <br/>
  <input type="text" name="zero" min="0"/>    
  <br/>
<input type="text" name="one" min="1" />
</form> 
<button id="event2">Test</button>
<a href="http://docs.jquery.com/Plugins/Validation" target="_blank">Validation Documentation</a>

JavaScript

$(document).ready(function () {
    $('#myform').validate({
    });

    $('#event2').on('click', function () {
        $('#myform').valid();
    });
});
4

1 回答 1

5

要回答您的问题:

“不”,你没有忽略任何东西,“是”,这似乎是一个错误。

看看这两个一模一样的jsFiddles,只有版本不同……

jQuery Validate v1.10(无错误):http: //jsfiddle.net/mblase75/MgvRn/

jQuery 验证 v1.11.1(错误):http: //jsfiddle.net/MgvRn/1/

此外,这仅在使用 HTML5 验证属性时才会出现问题。

在插件修复之前,一种解决方法是在.validate().

$('#myform').validate({
    rules: {
        zero: {
            min: 0
        }
    }
});

工作演示(v1.11.1):http: //jsfiddle.net/MgvRn/2/


我建议你在开发者的 Github 页面上报告这个 bug:

https://github.com/jzaefferer/jquery-validation/

于 2013-08-16T00:53:37.667 回答