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

В моем проекте использовался 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.