在 ASP.NET MVC 3 项目中,我需要验证视图中的名称字段以允许特定的重音字符集。因此,在我的视图模型中,我在适当的属性上定义了一个正则表达式属性,如下所示:
[RegularExpression("^[a-zA-Zá]{2,50}$")]
请注意这不是确切的代码,它被简化以使我的问题更容易理解。
此正则表达式在服务器端工作正常,但在客户端不起作用。如果查看输入字段的 HTML 是否包含此属性:
data-val-regex-pattern="^[a-zA-Zá]{2,50}$"
如您所见,重音字符已转换为破坏正则表达式的 HTML 实体。谁能告诉我为什么会发生这种情况以及如何解决?
更新
抱歉,我是个彻头彻尾的白痴。我完全忘记了我们几天前升级到 MVC 4 beta。随后我创建了两个小测试项目,一个在 MVC 3 中,一个在 MVC 4 中。问题只存在于 MVC 4 中。