【发布时间】:2015-05-24 00:21:50
【问题描述】:
我正在使用启用了数据注释的 MVC。在我的 ViewModel 中,我有一个包含正则表达式验证规则的属性,仅允许数字
[RegularExpression("@([0-9])", ErrorMessage = "Invalid. Must use only numbers.")]
当我提交表单时,ModelState.IsValid 返回为 false。当我在控制器中的 ModelState 上添加断点时,我看到我用正则表达式数据注释修饰的 ViewModel 的 StreetNumber 属性失败(即使我在表单字段中输入了数字 84)。
有没有人知道为什么这仍然会失败。 (我已经证实这个属性是唯一一个错误地失败的属性)。
【问题讨论】:
-
您的正则表达式只允许一位数字,您输入 84。使用 ^\d+$ 或 ^[0-9]+$
标签: regex asp.net-mvc validation