Проверка диапазона аннотаций данных MVC не работает должным образом
у меня естьRangeValidator
для свойства в моей модели, чтобы разрешить только целые числа, которые находятся между 0 и 100. У меня есть частичное представление, которое отображает форму для обновления свойства через диалоговое окно jQuery UI. Я посмотрел на источник и могу подтвердить, что атрибуты аннотации данных генерируются правильно. Тем не менее, проверка неработает нормально. Он выполняет какую-то проверку, но это не такт, используя диапазон ям настройки. Значения 1, 10 и 100 не выдают ошибку. Любое другое однозначное или двузначное значение вызывает ошибку. Однако, если я дополняю нулями, все значения меньше ста будут хорошими.
Модель:
public class MyModel
{
...
[Required(ErrorMessage = "{0} is required")]
[Range(typeof(int), "0", "100",
ErrorMessage = "{0} can only be between {1} and {2}")]
public int Percentage { get; set; }
...
}
Частичный вид:
@model MyApp.Models.Partials.MyModel
@using (Ajax.BeginForm("UpdatePercentage", "MyController",
new AjaxOptions() { HttpMethod = "Post",
OnSuccess = "onUpdateSuccess" },
new { name = "myForm" }))
{
@Html.ValidationSummary(null, new { style = "width:auto;max-width:22em;
float:left;clear:both;" })
@Html.Label("Percentage:")
@Html.TextBoxFor(m => m.Percentage)
}
Разметка производится:
Percentage:
Я вижу, что тип установлен вtext
и если я поменяюTextBoxFor
вEditorFor
это мешаетnumber
но я все еще вижу такое же поведение.