@ Html.ValidationMessageFor не работает - PullRequest
0 голосов
/ 28 декабря 2018
//Index Page (view) /Employee/Index
@model DataAnotaionExample.Models.Employee
@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<form action="./Add">
Enter Name=@Html.TextBoxFor(m=>Model.Name)
@Html.ValidationMessageFor(m=>Model.Name)
    <input type="submit" value="Submit" />
</form>

// Контроллер сотрудников

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace DataAnotaionExample.Controllers
{
    public class EmployeeController : Controller
    {
        // GET: Employee
        public ActionResult Index()
        {
            return View();
        }enter code here
    }
}

Модель класса Employee.cs

namespace DataAnotaionExample.Models
{
    public class Employee
    {
        [Required]
        [Key]
        public int Id { get; set; }
        [Required]
        public string Name { get; set; }
    }
}

Это мой код. Если я оставлю поле Имя пустым, оно не будет выбрасыватьсяошибка как поле обязательна.

Этот код, созданный в Asp.Net MVC5 Framework

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Сначала вы должны добавить бритву, как это

@model DataAnotaionExample.Models.Employee
@{
  ViewBag.Title = "Index";
 }

<h2>Index</h2>

<form action="./Add">   
       //this one 
      @Html.ValidationSummary(true)


Enter Name=@Html.TextBoxFor(m=>Model.Name)
@Html.ValidationMessageFor(m=>Model.Name)
 <input type="submit" value="Submit" />
</form>

Затем вам должен понравиться скрипт проверки на странице "_Layout.cshtml"

<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>

Или вы можете использовать этот скриптв вашем App_Start-> BundleConfig

      bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
       "~/Scripts/jquery-{version}.js",
       "~Scripts/jquery.validate.js",
        "~/Scripts/jquery.validate.unobtrusive.js"

));

Надеюсь, этот код полезен для вас.

0 голосов
/ 28 декабря 2018

убедитесь, что вы добавили

<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script

в конце страницы макета:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...