数据注释中的正则表达式无效

时间:2011-04-22 23:52:04

标签: asp.net asp.net-mvc asp.net-mvc-2 asp.net-mvc-3

我在班上有这个数据注释

 [Required(ErrorMessage = "Introduce a number!")]
 [RegularExpression("[0-9]+", ErrorMessage = "Only numbers allowed")]
   public int number { get; set; }

第一个数据注释效果很好但第二个数据注释不起作用,如果我引入一个字母或不是数字的东西,它会显示默认消息......任何想法?

它显示值'foo'对数字

无效

3 个答案:

答案 0 :(得分:2)

尝试一下: [RegularExpression(@“^ \ d + $”,ErrorMessage =“只允许数字”)]

答案 1 :(得分:0)

如果您使用jquery 1.5进行任何更改?如果您正在使用新的mvc项目附带的不显眼的验证,那么对于该版本,不显眼的验证会被破坏。 IIRC我使用与海报相同的表达方式,它对我有用。

答案 2 :(得分:-1)

首先它尝试转换为int,因为数据类型是int,因此你看到默认消息。如果你使用数据类型字符串,那么你的正则表达式将起作用。