2013-02-22 51 views
0

我使用這個滑塊:jQuery驗證失敗,在驗證範圍的輸入

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

它生成的代碼是?爲了讓它生成代碼,你寫的代碼如何?什麼給你錯誤? JavaScript控制檯?需要更多的信息,給你更好的建議。 – 2013-02-22 21:04:05

回答

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引起的。最合理的解決辦法是從輸入元素中刪除這些內嵌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個月左右,一直無法找到任何人取得領先。

+0

是的。它認爲那些是我的規則,但它不正確地驗證它們!我可以輸入100的值,並且它說這個值需要小於或等於100000! :/ – ojek 2013-02-23 01:23:10

+0

@ojek,請查看我編輯的答案。 – Sparky 2013-02-23 02:39:14

+0

@ojek,[jQuery驗證在通過jQuery聲明規則時有效](http://jsfiddle.net/Mgv7S/)。請構建你的問題的jsFiddle演示。 – Sparky 2013-02-23 14:32:22