如何范围验证整数ASP.NET MVC 3

时间:2012-05-25 11:55:20

标签: asp.net-mvc-3 validation data-annotations

我正在使用如下验证。

[Required(ErrorMessage = "Please provide 10 digit mobile number without spaces and without country code (+91)")]
[Integer(ErrorMessage = "Please provide 10 digit mobile number without spaces and without country code (+91)")]
[Range(1000000000, 9999999999, ErrorMessage = "10 digit mobile number only without spaces and without country code (+91)")]
[Display(Name = "Mobile Number")]
public int MobileNo { get; set; }

The value '9999999998' is invalid.的验证总是失败。我做错了吗?

3 个答案:

答案 0 :(得分:13)

试试这个:

[RegularExpression("^[0-9]{10}$", ErrorMessage = "Invalid Mobile No")]

答案 1 :(得分:6)

Int32类型可存储的最大值为2,147,483,648。你满溢了。为什么使用整数类型来表示电话号码?字符串似乎更适应。

答案 2 :(得分:2)

Integer(Int32)可以容纳的最大值 2,147,483,647 。所以你最好用Long或String替换Int。