【发布时间】:2013-08-20 01:13:50
【问题描述】:
我的实体中有一个字段,它有一个正则表达式作为 DataAnnotation:
@"^\$?([0-9]{6})(.[0-9]){0,1}?$"
而且它总是可以正常工作,除非我在数字前使用零。
例如
- 123456.1 Work
- 012345.1 Does Not Work
如果我用 Regex.IsMatch 做同样的验证,它说没问题。
如何强制 MVC 在进行验证时保留前导零?
【问题讨论】:
-
@hwnd 它应该让你在小数点后写一个数字,或者什么都不写。如果我移除锚点,我将无法完成最后一部分。
-
@hwnd 我没有写下来,因为它工作正常。我刚刚更新了示例。
-
@hwnd 我将它放在一个单独的组中的唯一原因是因为我想指定可能只有一次,也可能没有。
-
我认为这不是您的问题,但是如果您希望它仅匹配文字
.字符,则应该转义第二组中的句点。否则它将匹配“123456Q1”、“123456@1”等。 -
{0,1}后跟?是多余的。
标签: c# asp.net-mvc regex validation