2012-11-14 150 views
0

我可以限制用戶使用DataAnnotations只輸入數字嗎?僅限使用mvc限制數字的數據註解4

下面是我在我的模型

[Display(Name = "Fiscal Year")] 
[Required(ErrorMessage = "Fiscal Year is required")] 
public int FiscalYear { get; set; } 

下面的屬性是我正在使用.chtml其中定義(Razor視圖):我希望只允許用戶

@Html.TextBoxFor(model => model.project.FiscalYear) 

輸入數字。有什麼建議麼?

感謝, 巴拉吉

+0

您是否希望文本框不允許輸入除數字以外的任何字符(例如客戶端)或者是否足以讓用戶輸入無效字符並提交表單然後出現錯誤(例如,服務器端)?如果你想要客戶端的限制,你將不得不編寫一些JavaScript來做到這一點。如果你只關心服務器端,那麼你所擁有的代碼應該是訣竅; MVC3不允許你爲ViewModel'int'屬性輸入「int」以外的數據。 –

+0

'@ Html.EditorFor(model => model.project.FiscalYear)'工作嗎? (假設您已啓用不引人注目的驗證) –

回答

0

您可以使用正則表達式屬性

3

獲取NuGet包稱爲DataAnnotationsExtensions ..然後用它象下面這樣:

[Integer(ErrorMessage="This is needs to be integer")] 
    public int CustomerId { get; set; } 

它將把正確的驗證中假設你有jQuery驗證插件並且啓用了不顯眼的驗證。

+0

謝謝Youiraj anwser,非常有用:) – Ovis