Asp.net mvc Asp.net MVC数据批注将0123视为非整数

Asp.net mvc Asp.net MVC数据批注将0123视为非整数,asp.net-mvc,asp.net-mvc-4,integer,range,data-annotations,Asp.net Mvc,Asp.net Mvc 4,Integer,Range,Data Annotations,相关的: 对于电话号码,我正在使用如下MVC数据注释进行验证 [RegularExpression(@"^[\d]{3}$", ErrorMessage = "*")] [Range(0, 999, ErrorMessage = "*")] public int IntlCode { get; set; } value012在客户端验证良好,但在服务器端没有验证,有人能解释一下原因或错误所在吗因为它是一个int它正在剥离前导的0,这将导致正则表达式失败 试一试 如何设置此值?@dove以上是我

相关的:

对于电话号码,我正在使用如下MVC数据注释进行验证

[RegularExpression(@"^[\d]{3}$", ErrorMessage = "*")]
[Range(0, 999, ErrorMessage = "*")]
public int IntlCode { get; set; }

value
012
在客户端验证良好,但在服务器端没有验证,有人能解释一下原因或错误所在吗

因为它是一个
int
它正在剥离前导的
0
,这将导致正则表达式失败

试一试


如何设置此值?@dove以上是我的视图绑定到的
User
ViewModel的属性。用户键入其国际代码(3位数),然后单击提交。ActionMethod接收ViewModel,然后处理它,因此剥离
0
012
将产生
12
,这就是它不匹配正则表达式的原因,对吗?
[RegularExpression(@"^\d{1,3}$", ErrorMessage = "*")]