Сообщение об ошибке проверки не отображается MVC4


Я использую MVC4.

Проверка не выполняется, но сообщения об ошибках проверки не отображаются.

Это моя модель.

public class Configuration
{
    public int Id { get; set; }

    [Required(AllowEmptyStrings = false, ErrorMessage = "Site name is required.")]
    [MinLength(6, ErrorMessage = "Name should be at least 6 characters.")]
    public string SiteName { get; set; }
}

Контроллер.

[HttpPost]
    public ActionResult Create(Configuration configItem)
    {
        if (ModelState.IsValid)
        {
            // do something.
        }
        return View("Index", configItem);
    }

Вид-это

@model Models.SitesConfig.Configuration
@{
ViewBag.Title = "Sites Configurations";
}
<div>
    @Html.ActionLink("Sites List", "List", "SiteConfig")
</div>
@using (Html.BeginForm("Create", "SiteConfig", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <fieldset>
        <legend>New Satellitesite</legend>
        <div>
            @Html.LabelFor(m => m.SiteName, "Name")
            @Html.TextBoxFor(m => m.SiteName)
            @Html.ValidationMessageFor(m=>m.SiteName)
        </div>
        <br />

        <input type="submit" value="Save" />

    </fieldset>
}

Пожалуйста, также предложите мне, если есть какой-либо лучший способ сделать проверки.

5 3

5 ответов:

Я не знаю, в чем была проблема. После очистки и сборки приложения, я могу видеть сообщение об ошибке.

Спасибо, Нареш

Должно быть @Html.ValidationSummary("Please correct the errors") в представлении

@using (Html.BeginForm("Create", "SiteConfig", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
  @Html.ValidationSummary()
    <fieldset>
        <legend>New Satellitesite</legend>
        <div>
            @Html.LabelFor(m => m.SiteName, "Name")
            @Html.TextBoxFor(m => m.SiteName)
            @Html.ValidationMessageFor(m=>m.SiteName)
        </div>
        <br />

        <input type="submit" value="Save" />

    </fieldset>
}

Попробуйте вот это .. @формат HTML.ValidationSummary() помогает в отображении сообщений об ошибках.

Если вы попробовали вышеперечисленные решения и все равно не сработали, то, возможно, вам нужно отформатировать файл View. Перейдите в меню Редактировать-расширенный-формат документа. Помните, что при попытке форматирования файла не следует находиться в режиме отладки, так как при отладке проекта вы не увидите описанных выше процедур.

Убедитесь, что ваше представление ссылается на проверки jQuery в теге Scripts -

@section Scripts
{
    @Scripts.Render("~/bundles/jqueryval")
}