2016-03-15 73 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