2016-03-15 78 views
0

使用的the library 1.11.1版本,我注意到,如果我使用类似jQuery验证 - 最高法十进制值

<input data-rule-max="8" /> 

当我输入的10值,它将无法正确验证。

但是,如果我有像

<input data-rule-max="8.00" /> 

,我进入10它不坏的领域。如果我输入9,它将其标记为无效。

当我调试时,我可以看到,最大规则是接收字符串值来处理:"10"小于"8.00"

我需要能够验证像8和8.75的东西。有没有什么窍门可以让最大规则和非整数玩,或者我应该使用另一个规则?

(顺便说一句,我可能会被更新到在某个时刻库的最新版本,所以这个问题只是为了做什么,直到我能做出的改变。)

回答

1

有一招让max规则打非整数不错,

max规则本身工作正常...您使用的data-rule-max属性声明max时谈到的一个问题。在这种情况下,updating the plugin是您唯一的解决方案。

或我应该使用的其他规则?

max规则是max规则。

如果您无法更新插件,则只需使用HTML 5 max属性而不是data-rule-max来声明max规则。

DEMO(v1.11.1):http://jsfiddle.net/fguxextv/


这是插件如何在现有方法的属性映射的问题。如果在插件中映射不固定,则可以简单地通过.validate()方法声明规则。在这种情况下,它是"max"

$('#myform').validate({ 
    rules: { 
     foo: { 
      required: true, 
      max: 8.00 
     }, 
     .... 

DEMO 2(v1.11.1):http://jsfiddle.net/fguxextv/3/

+0

我很高兴,就这么简单。我们团队的编码习惯是始终使用数据属性来保持一致性,但我认为我可以让他们将这个例外作为例外,直到将库鼓起来更新为优先级堆栈。谢谢! – jinglesthula