내 프로젝트에서 ASP.NET MVC 5를 사용했습니다. 유효성 검사에 System.ComponentModel.DataAnnotations
을 사용했습니다. 필수 입력란에 값을 입력하지 않으면 내 작업을 계속 수행 할 수 없게됩니다. 하지만이 기대는 만족스럽지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?클라이언트 유효성 검사가 작동하지 않았습니다.
@model Jahan.Blog.ViewModel.ArticleViewModel
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Article</h4>
<hr />
@Html.ValidationSummary(true)
@Html.HiddenFor(model => model.UserId)
@*There are some codes*@
<div class="form-group">
@Html.LabelFor(model => model.Title, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Title)
@Html.ValidationMessageFor(model => model.Title)
</div>
</div>
@*There are some codes*@
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
}
뷰 모델 :
[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);
}
jquery.validate.js와 jquery.validate.unobtrusive.js가로드 되었습니까? – severin
jquery.validate.unobtrusive.js를 추가하는 것을 잊었습니다. 나는 올바르게 추가하고 일했다. – Jahan