使用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'
...有谁知道为什么?
感谢
答案 0 :(得分:35)
您已将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; }
答案 1 :(得分:4)
您需要将邮件置于RegularExpression
属性中,而不是Required
属性。
您已将错误消息添加到Required
属性,这意味着当该字段为空时会显示该消息。
答案 2 :(得分:0)
您可以尝试以下代码:
[RegularExpression(@"^\d{1,15}$", ErrorMessage = "Please enter up to 15 digits for a contact number")]
public string ContactNumber { get; set; }