16

使用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'......有人知道为什么吗?谢谢

4

3 回答 3

45

您已将 分配ErrorMessageRequiredAttribute(在这种情况下您绝对不需要,因为正则表达式)。所以:

[Display(Name = "Contact Number")]
[RegularExpression(@"^\d{1,15}$", ErrorMessage = "Please enter up to 15 digits for a contact number")]
public string ContactNumber { get; set; }
于 2013-06-25T11:53:10.007 回答
4

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

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

于 2013-06-25T11:53:24.653 回答
0

你可以试试下面的代码:

[RegularExpression(@"^\d{1,15}$", ErrorMessage = "Please enter up to 15 digits for a contact number")]
public string ContactNumber { get; set; }
于 2020-07-01T06:25:46.093 回答