我有一個錢文本框,我已將類型設置爲數字,以兩位數的精度輸入數值,並限制輸入字母或符號的方式始終爲0.00格式。表單中的所有文本框似乎都可以驗證,直到一個文本框約減少7個值。 HTML5驗證發生並以紅色突出顯示,並且在允許表單提交之前指出「您必須輸入有效值」。我看不出這個值是無效的。我嘗試過多種模式。我需要type = number來允許在移動設備中設置正確的鍵盤。將類型設置爲文本並且數字鍵盤不顯示。HTML5輸入類型號碼貨幣驗證失敗
這是引發錯誤的輸入:
input name="ctl00$MainContent$lvAccounts$ctrl6$txtAccountBalance" tabindex="21" class="MoneySelection jqNumeric ThisRow" id="ctl00_MainContent_lvAccounts_ctrl6_txtAccountBalance" type="number" step="0.01" pattern="^\d+\.\d{2}$" value="40980.66"
但是正上方,與其他框沿着它們似乎通過(假定從上到下驗證):
input name="ctl00$MainContent$lvAccounts$ctrl5$txtAccountBalance" tabindex="21" class="MoneySelection jqNumeric ThisRow" id="ctl00_MainContent_lvAccounts_ctrl5_txtAccountBalance" type="number" step="0.01" pattern="^\d+\.\d{2}$" value="16374.29"
這裏還有一個奇怪之處......我將該值設置爲41980.66,並且驗證正確。我設置爲39980.66,它失敗,設置爲31980.66並驗證。
我讀過關於窗體上的novalidate選項,但這會影響/否定任何RequiredFieldValidators?如果正則表達式不正確,爲什麼它對某些值而不是其他值有效?
我試過不同的模式和內聯VS jQuery屬性沒有成功。我能夠在jsFiddle上使用IE11重新創建我的瀏覽器 http://jsfiddle.net/8821dhfj/
我可以確認Chrome沒有這個問題。當使用最小和最大屬性時,它「似乎」解決問題,但僅改變引發驗證錯誤的美分值。更改41980.66到41980.67,並且它失敗http://jsfiddle.net/8821dhfj/2/ – AdamRoof