正则表达式错误消息

使用RegularExpression(@"^\d{1,15}$")] ,我希望用户输入长度最多为15的数字 ,这将返回错误消息“请输入最多15位数的联系人号码”这是不正确的

 [Required(ErrorMessage = ("Please enter up to 15 digits for a contact number")), Display(Name = "Contact Number"), RegularExpression(@"^\d{1,15}$")] public string ContactNumber { get; set; } 

如果用户没有这样做,我留下了错误消息:

 The field Contact Number must match the regular expression '^\d{1,15}$'. 

而不是'Please enter up to 15 digits for a contact number' …有谁知道为什么? 谢谢

您已将ErrorMessage分配给RequiredAttribute (在这种情况下,由于正则表达式,您绝对不需要)。 所以:

 [Display(Name = "Contact Number")] [RegularExpression(@"^\d{1,15}$", ErrorMessage = "Please enter up to 15 digits for a contact number")] public string ContactNumber { get; set; } 

您需要将消息放在RegularExpression属性中,而不是Required属性。

您已将错误消息添加到Required属性,这意味着当该字段为空时将显示该消息。