.net 验证打印整个正则表达式-更改此项?

.net 验证打印整个正则表达式-更改此项?,.net,asp.net-mvc,asp.net-mvc-4,razor,.net,Asp.net Mvc,Asp.net Mvc 4,Razor,我在视图模型中进行了一些验证: [Required( AllowEmptyStrings = false, ErrorMessageResourceType = typeof(Resources.ValidationMessages), ErrorMessageResourceName = "invalid_cellphoneNumber")] [RegularExpression(@"^[1-9]{1}[0-9]{7}$")] public string Cel

我在视图模型中进行了一些验证:

[Required(
    AllowEmptyStrings = false,
    ErrorMessageResourceType = typeof(Resources.ValidationMessages),
    ErrorMessageResourceName = "invalid_cellphoneNumber")]
    [RegularExpression(@"^[1-9]{1}[0-9]{7}$")]
public string CellphoneNumber { get; set; }
这是有效的,正则表达式和错误消息。 在我的标记中,我有以下内容:

@Html.TextBoxFor(m => m.CellphoneNumber, new { id = "mobile", type = "tel"})
这将生成一个
输入
元素。我还包括了正确的Java脚本,这样它既可以运行客户端,也可以运行服务器端。问题是;当我写一些无效的东西时,mvc似乎创建了自己的错误消息

字段CellphoneNumber必须与正则表达式“^[1-9]{1}[0-9]{7}$”匹配。
,而不是使用我定义的正则表达式。它显示我的错误消息的唯一方式是,如果字段为空,并尝试提交表单或删除表单中的内容,则它将更改为我的消息

生成的
input
元素如下所示:


有人能帮忙吗?

每个验证属性的
ErrorMessageResource…
属性都是。恐怕您也必须为
RegularExpression
验证属性再次指定它。

每个验证属性的
ErrorMessageResource…
属性都是。恐怕您还必须为
RegularExpression
验证属性再次指定它