2016-01-31 4 views
1

У меня очень простое приложение. Вот мой код просмотра;ModelState не работает должным образом

@using (Html.BeginForm()) { 
@Html.ValidationSummary(true) 
<fieldset> 
    <legend>Kategori Modeli</legend> 

    <div class="editor-label"> 
     Category Name 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.CategoryName) 
     @Html.ValidationMessageFor(model => model.CategoryName) 
    </div> 

    <p> 
     <input type="submit" value="Save" /> 
    </p> 
</fieldset>} 

И вот мой код модели;

public int ID { get; set; } 
    [Required(ErrorMessage = "Category Name cannot be null.")] 
    [Range(3, 25, ErrorMessage = "Category Name must have 3-25 characters")] 
    public string CategoryName { get; set; } 

И код вставки;

[HttpPost, ValidateInput(false)] 
    public ActionResult Insert(Category _category) 
    { 
     if (ModelState.IsValid) 
     { 
      --- 
     } 
    } 

ModelState.IsValid всегда ложный, даже если он имеет 4 символа. Пожалуйста, помогите мне. Он всегда показывает сообщение об ошибке «Название категории должно содержать 3-25 символов».

ответ

2

Диапазон не проверяет длину строки. Он проверяет числовое значение между указанными числами.

Следует использовать MaxLength и MinLength.

Смежные вопросы