3

我有一個使用jQuery不顯眼驗證的驗證數字的問題。 我使用的版本是: ASP.MVC 3. 的JQuery 1.9.1 JQuery用戶界面1.10.1 jQuery驗證1.11.0Jquery驗證不會正確驗證數字嗎?

我試圖驗證輸入:

<input type="number" value="0" name="Data.time_between_loops.Planned.hour" id="Data_time_between_loops_Planned_hour" data-val-required="The hour field is required." data-val-range-min="0" data-val-range-max="23" data-val-range="The field hour must be between 0 and 23." data-val-number="The field hour must be a number." data-val="true" class="hour valid"> 

執行驗證,但問題在於它對值AS執行一個字符串, ,即當我輸入4時出現驗證錯誤。

我查看了jquery.validation的代碼,它看起來好像不會將任何值(元素值,最小/最大值)轉換爲數字,所以範圍函數比較的值是字符串。 我假設如果你在jquery中設置最小/最大範圍,那麼這些值將不是字符串,但是當你在數據屬性中指定它們時,它們是字符串,而jquery似乎不處理這個問題。

這是準備好了jQuery驗證中的錯誤還是我做錯了什麼?

謝謝, Nadav 我該如何解決這個問題?

+0

是的。 [你應該參考這個Github頁面尋找bug](https://github.com/jzaefferer/jquery-validation/issues?state=open)。 SO只適用於你的編碼問題。 https://github.com/jzaefferer/jquery-validation/issues?state=open – Sparky 2013-03-11 16:07:42

+0

謝謝,這只是在我打開JQuery中的錯誤之前,我想確保我沒有犯一個愚蠢的錯誤... – Nadav 2013-03-11 16:56:16

+0

I明白這一點,但這不是真的。請標記你的問題關閉或刪除。謝謝。 – Sparky 2013-03-11 17:01:00

回答

0

在模型中創建屬性數據類型整數。

請按照下列職位:

Validation on int data type asp .net mvc3

[Integer(ErrorMessage="Are you stupid? Just fill in numbers only!")] 
public int? TestValue { get; set; } 
+0

我沒有在ASP.MVC3中的整數數據變換。 你從哪裏得到它的? 無論如何,問題是JQuery驗證代碼中的錯誤,所以我懷疑它會幫助... 無論如何,感謝您的建議.. – Nadav 2013-03-11 17:01:16

0

[數據類型(整數)是MVC 3 你可以做一招有效。即 使文本框類型='文本'並驗證它的JavaScript,該框只接受數字值。 然後您可以通過範圍驗證來驗證控件。