2

我正在使用如下验证。

[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.。难道我做错了什么?

4

3 回答 3

13

试试这个:

[RegularExpression("^[0-9]{10}$", ErrorMessage = "Invalid Mobile No")]
于 2012-05-25T12:02:19.997 回答
7

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

于 2012-05-25T11:59:09.657 回答
2

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

于 2012-05-25T11:59:24.303 回答