我想让一个EditorFor文本框只接受数字

时间:2011-09-05 16:45:30

标签: c# asp.net-mvc validation razor

这是我的ViewModel:

[Required(ErrorMessageResourceType=typeof(Resources.ValidationsResources),
          ErrorMessageResourceName = "Required")]
[Range(0, 9999, 
       ErrorMessageResourceType = typeof(Resources.ValidationsResources),
       ErrorMessageResourceName = "SomenteNumeros")]
public Int16 Quantidade { get; set;}

这是我的观点:

 <label class="Quantidade">
   <span>Quantidade</span>
   @Html.EditorFor(model => model.Quantidade)
 </label>

但是我想阻止这个编辑器中的所有单词,只允许数字。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

你需要javascript。有许多jQuery plugins可以帮助您实现此目的。

答案 1 :(得分:1)

使用正则表达式,例如

[RegularExpression("([1-9][0-9]*)", ErrorMessage = "Count must be a natural number")]
public int Count { get; set; }