2013-02-18 85 views
1

我在當前項目中使用了MVC3。我只想用十進制驗證來驗證我的輸入字段。我沒有太多使用JQuery的經驗。我的數據庫小數類型字段是這樣的(十進制(9,2))。我想根據允許的規範驗證用戶。JQuery中的十進制驗證

我試過使用jquery的測試方法。但在IE8中,當我啓動驗證檢查時拋出不可用的錯誤。

我發現正則表達式來做到這一點。但我不知道哪個事件的文本框,我應該啓動驗證檢查。請幫我提供上述聲明的確切表達。

感謝

+0

嘗試是這樣的:http://stackoverflow.com/questions/10090339/validate-decimal-numbers – Dom 2013-02-18 03:30:59

+0

可以使用模糊事件。請注意,客戶端驗證是一個可選的很好的,但服務器端驗證是強制性的... – nnnnnn 2013-02-18 03:32:03

+0

@DOM你能告訴我哪個.js文件我可以得到測試方法 – UniqueChar 2013-02-18 03:39:50

回答

0

只是這條線從here

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 

然後添加到您的項目和下載源十進制validatoin

$.validator.addMethod('Decimal', function(value, element) { 
    return this.optional(element) || /^\d+(\.\d{0,3})?$/.test(value); 
}, "Please enter a correct number, format xxxx.xxx"); 

或允許逗號:

$.validator.addMethod('Decimal', function(value, element) { 
    return this.optional(element) || /^[0-9,]+(\.\d{0,3})?$/.test(value); 
}, "Please enter a correct number, format xxxx.xxx"); 
+0

對不起,延遲迴復。我在外部使用,在指定的值後阻止用戶輸入。 '\ d {0,3}'在小數點後面。我想限制小數點之前。我怎麼能在上面的正則表達式中做到這一點。 – UniqueChar 2013-02-20 12:34:29

0

聽說Data Annotations in ASP.NET MVC

使用此

[RegularExpression(@"^[0-9,]+(\.\d{0,3})?$")] 
public decimal UnitPrice { get; set; } 

然後用這個

<p> 
    <label for="UnitPrice">Price:</label> 
    @Html.TextBox("UnitPrice") 
    @Html.ValidationMessage("UnitPrice", "*") 
</p>