Проверка клиента не работала

В моем проекте использовался ASP.NET MVC 5. Я использовал System.ComponentModel.DataAnnotations для проверки. Я ожидаю, когда не буду вводить значение для обязательного поля, не мешайте продолжению моих действий. Но это ожидание не удовлетворяет. Как я могу решить эту проблему?

@model Jahan.Blog.ViewModel.ArticleViewModel
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div> <h4>Article</h4> @Html.ValidationSummary(true) @Html.HiddenFor(model => model.UserId) @*There are some codes*@ <div> @Html.LabelFor(model => model.Title, htmlAttributes: new { @class = "control-label col-md-2" }) <div> @Html.EditorFor(model => model.Title) @Html.ValidationMessageFor(model => model.Title) </div> </div> @*There are some codes*@ <div> <div> </div> </div> </div>
}

ViewModel:

[ModelBinder(typeof(ArticleViewModelBinder))]
public class ArticleViewModel : IArticleViewModel
{ public ArticleViewModel() { } public virtual int Id { get; set; } [Required] [StringLength(256)] public virtual string Title { get; set; }
}

контроллер:

[AcceptVerbs(HttpVerbs.Post)] [ValidateAntiForgeryToken] public ActionResult Edit([Bind(Prefix = "")]ArticleViewModel articleViewModel, List<int> availableTags) { if (ModelState.IsValid) { // There are some codes. } return View(articleViewModel); }
</int>
2 ответа

Согласно комментарию Fiskeboss, jquery.validate.unobtrusive.js библиотека jquery.validate.unobtrusive.js. Затем она работает правильно.


откройте свой web.config и найдите ClientValidationEnabled в appSettings и проверьте, установлено ли оно как true:

licensed under cc by-sa 3.0 with attribution.