我正在使用Razor视图引擎开发MVC 4 ASP.NET应用程序。我在视图中有一个名为'Title'的属性,并设置了这样的元数据:
[RegularExpression(@"^[\p{L}\p{N}\s\,\،\-\(\)\u200C]*$", ErrorMessage = "Some error message")]
public string Title { get; set; }
在视图中,一旦我开始在相应的文本框中键入任何字符,它就会显示验证消息。这是剃须刀的观点:
@Html.LabelFor(model => model.Title)
@Html.EditorFor(model => model.Title)
@Html.ValidationMessageFor(model => model.Title)
我错过了什么吗?
答案 0 :(得分:0)
客户端验证器使用的是javascript,因此正则表达式需要使用特定于javascript的语法。
根据regular-expressions.info,不支持\p{...}
构造。
您可以将\p{L}\p{N}
替换为\w
,具体取决于您的目标字符集。