ModelState无法正常工作

时间:2016-01-31 09:48:00

标签: asp.net-mvc 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个字符也始终为false。请帮我。它始终显示“类别名称必须包含3-25个字符”错误消息。

1 个答案:

答案 0 :(得分:2)

Range不验证字符串长度。它检查数值是否在指定的数字之间。

应该使用MaxLength和MinLength。