在ASP.NET MVC 3项目中,我需要验证视图中的名称字段以允许特定的集合重音字符.所以在我的视图模型中,我在相应的属性上定义了一个正则表达式属性,如下所示:
[RegularExpression("^[a-zA-Zá]{2,50}$")]
请注意,这不是确切的代码,它简化了以使我的问题更容易理解.
这个正则表达式在服务器端工作正常,但在客户端不起作用.如果查看输入字段的HTML包含此属性:
data-val-regex-pattern="^[a-zA-Zá]{2,50}$"
如您所见,重音字符已转换为HTML实体,该实体会破坏正则表达式.任何人都可以告诉我为什么会这样,以及如何解决它?
UPDATE
道歉我是一个完整的白痴.我完全忘记了几天前我们升级到MVC 4测试版.随后我创建了两个小型测试项目,一个在MVC 3中,另一个在MVC 4中.这个问题只存在于MVC 4中.
事实证明有人问了同样的问题.我的Google搜索直到现在才找到它.
DataAnnotations validation (Regular Expression) in asp.net mvc 4 – razor view
该问题已被报道为MVC 4 beta中的一个错误.