Проверка диапазона аннотаций данных 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 но я все еще вижу такое же поведение.

Ответы на вопрос(2)

Ваш ответ на вопрос