Я читал учебное пособие о том, как реализовать проверку в моем веб-приложении MVC.Ниже приведен фрагмент моего представления для создания нового ученика:
<div class="form-horizontal">
<h4>Student</h4>
<hr />
@Html.ValidationSummary(true)
<div class="form-group">
@Html.LabelFor(model => model.LastName, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.LastName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.LastName)
</div>
</div>
Вот фрагмент кода моего контроллера:
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using ContosoUniversity.DAL;
using ContosoUniversity.Models;
namespace ContosoUniversity.Controllers
{
public class StudentController : Controller
{
private SchoolContext db = new SchoolContext();
public ActionResult Create()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include =
"ID,LastName,FirstMidName,EnrollmentDate")] Student student)
{
if (ModelState.IsValid)
{
db.Students.Add(student);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(student);
}
Мой @Html.ValidationMessageFor(model => model.LastName)
работает без проблем.Даже @Html.ValidationSummary(false)
работает для отображения моих полевых ошибок, как и ожидалось, но я не хочу, чтобы мои полевые ошибки отображались.Когда я изменяю false
на true
и включаю свое собственное сообщение, это сообщение не отображается, когда я запускаю свой код в браузере.Я не могу понять, что происходит, и я попытался исследовать ответ в Интернете, но нет никакого ответа, который имеет смысл для меня, хотя я уверен, что где-то был дан ответ.Может кто-нибудь, пожалуйста, предоставьте мне «непрофессиональные условия» решения этой проблемы?