Сообщение об ошибке регулярного выражения
Используя 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'
... кто-нибудь знает почему?
спасибо
Ответы
Ответ 1
Вы назначили 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; }
Ответ 2
Вам нужно поместить ваше сообщение в атрибут RegularExpression
, а не Required
.
Вы добавили сообщение об ошибке в атрибут Required
, что означает, что он будет отображаться, когда поле пуст.