В моем приложении ASP.NET MVC у меня есть форма, и я использую ViewModel, поэтому ModelBinder может связываться с моим строго типизированным классом.Я использую DataAnnotations для проверки
public class FormViewModel
{
[Required]
public string SomeValue {get;set;}
[Range(0, 10, ErrorMessage="Enter a number between 0 and 10.")]
public byte? SomeOtherValue {get;set;}
}
Это прекрасно работает.Проблема, однако, заключается в том, что когда пользователь не вводит допустимое значение для SomeOtherValue (например, abc), появляется стандартная ошибка MVC: «Значение« abc »недопустимо для« SomeOtherValue ».Это действительно раздражает, так как я не могу настроить это сообщение.Я знаю, что есть способы локализовать это сообщение, но это не имеет смысла (мне не нужно общее сообщение, я хочу значение, зависящее от значения).
Я попытался применить атрибут RegularExpressionв SomeOtherValue, который допускает только байтовые значения, но, вероятно, стандартная проверка «переопределяет» эту проверку.Есть ли какой-нибудь способ применить пользовательское сообщение «значение не является допустимым» для свойства или иным образом отключить стандартное сообщение?