【发布时间】:2018-10-21 11:01:16
【问题描述】:
希望你过得好, 我是 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; }
【问题讨论】:
-
您的属性必须是
string,而不是int -
抱歉,这会使电话号码属性接受字符
-
不是你的正则表达式,它不会。
int不能与0一起使用(除非它是数字零)。 -
int 将省略 0。您可以将其作为字符串,然后使用正则表达式。
标签: asp.net validation asp.net-mvc-5