Самый простой способ - использовать Расширения аннотаций данных . Он имеет некоторые полезные атрибуты для таких вещей, как целые числа и т. Д.
Или вы можете написать свое собственное, как в: Как изменить валидацию сообщения 'data-val-number' в MVC при генерации его помощником
Редактировать : Добавлен полный образец после комментариев.
Я создал пример проекта vanilla MVC 3, а затем сделал следующее:
Добавлен пакет NuGet DataAnnotationsExtensions.MVC3
Добавлен класс модели:
public class IntegerSample
{
[Required(ErrorMessage="Dude, please fill something in!")]
[Integer(ErrorMessage="Are you stupid? Just fill in numbers only!")]
public int? TestValue { get; set; }
}
Добавлен домашний контроллер:
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
}
Добавлен домашний вид:
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>IntegerSample</legend>
<div class="editor-label">
@Html.LabelFor(model => model.TestValue)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.TestValue)
@Html.ValidationMessageFor(model => model.TestValue)
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
}
Я надеюсь, что вы получите больше информации, используя этот пример кода. Когда я запускаю этот пример, он работает так, как вы и ожидали.