首页 > 解决方案 > 电话号码的 ASP.NET MVC 数据验证

问题描述

希望你做得很好,我是 ASP.NET MVC 的新手,我正在对int类型的phoneNumber属性进行数据验证。

我希望电话号码从 0 开始,然后是 9 位数字,但从 0 开始很重要。

所以,我做了这个正则表达式 ^[0]{1}[0-9]{9}$

但问题是,每当http post请求到来并且我看到数据时,我发现电话号码不是从零开始,而是从0之后的数字开始。像这样

0557998765(这是应该出现的) 557998765(不幸的是,这是出现的)

任何人都可以帮忙吗?这是我的模型中 phoneNumber 属性的代码。

[Required(ErrorMessage = "You must provide a phone number")]
[DataType(DataType.PhoneNumber)]
[RegularExpression("^[0]{1}[0-9]{9}$", ErrorMessage = "Phone Number must be 10 Digits Long.")]
public int PhoneNumber { get; set; }

标签: asp.netvalidationasp.net-mvc-5

解决方案


如果第一个数字大于“2”,则 32 位整数不足以容纳电话号码的值。最大值为 2147483647。因此,如果您的电话号码以 3 或更大开头,则无法确定。该字段需要是一个字符串。


推荐阅读