2014-10-14 4 views
0

내 프로젝트에서 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); 
    } 
+2

jquery.validate.js와 jquery.validate.unobtrusive.js가로드 되었습니까? – severin

+0

jquery.validate.unobtrusive.js를 추가하는 것을 잊었습니다. 나는 올바르게 추가하고 일했다. – Jahan

답변

0

을 Fiskeboss의 의견, 제대로 작동 jquery.validate.unobtrusive.js 라이브러리 added.Then에 따르면.

0

의 Web.config을 열고를 찾을 수 appSettings에서그리고 그것은 참으로 설정되어 있는지 확인 :

<add key="ClientValidationEnabled" value="true" /> 
+0

@fiskeboss가 대답했습니다. – Jahan

관련 문제