Сообщения проверки модели MVC 2 - PullRequest
0 голосов
/ 19 октября 2010

У меня есть модель представления со свойством, подобным этому:

[RegularExpression(@"^d\+$", ErrorMessageResourceType = typeof(Resources.Validation), ErrorMessageResourceName = "NumberValidationMsg" )]
public int? Number {get; set;}

Для ресурса NumberValidationMsg установлено значение "Только числа разрешены!".

, но когда я пытаюсь ввести что-то вроде'test' в поле Number в форме, ModelState отображает сообщение ErrorMessage с содержимым, подобным следующему: «Значение 'test' недопустимо для Number."

можно ли отключить это сообщение, настроить его?(или, возможно, лучшим решением было бы просто заменить int? на строку)

Спасибо!

1 Ответ

1 голос
/ 19 октября 2010

Если вы хотите принять текст в поле, вам нужно изменить его на строку и выполнить преобразования в int в соответствии с вашими правилами.

Если ваша модель - int, то единственным допустимым входным значением будет int (или пустое значение, если оно "int?"), И вы не должны пытаться предотвратить это, если нет веских причин ... Более того, я Полагайте, что вы могли бы опустить все регулярное выражение, потому что MVC уже делает эту проверку для вас неявно (потому что это int).

...