3

MVC4를 사용 중입니다.MVC4가 표시되지 않는 유효성 검사 오류 메시지

유효성 검사에 실패했지만 유효성 검사 오류 메시지가 표시되지 않습니다.

이것은 내 모델입니다.

public class Configuration 
{ 
    public int Id { get; set; } 

    [Required(AllowEmptyStrings = false, ErrorMessage = "Site name is required.")] 
    [MinLength(6, ErrorMessage = "Name should be at least 6 characters.")] 
    public string SiteName { get; set; } 
} 

컨트롤러.

[HttpPost] 
    public ActionResult Create(Configuration configItem) 
    { 
     if (ModelState.IsValid) 
     { 
      // do something. 
     } 
     return View("Index", configItem); 
    } 

보기는 검증을하는 더 나은 방법이 있는지

@model Models.SitesConfig.Configuration 
@{ 
ViewBag.Title = "Sites Configurations"; 
} 
<div> 
    @Html.ActionLink("Sites List", "List", "SiteConfig") 
</div> 
@using (Html.BeginForm("Create", "SiteConfig", FormMethod.Post, new { enctype = "multipart/form-data" })) 
{ 
    <fieldset> 
     <legend>New Satellitesite</legend> 
     <div> 
      @Html.LabelFor(m => m.SiteName, "Name") 
      @Html.TextBoxFor(m => m.SiteName) 
      @Html.ValidationMessageFor(m=>m.SiteName) 
     </div> 
     <br /> 

     <input type="submit" value="Save" /> 

    </fieldset> 
} 

도 저를 제시하십시오이다.

+0

당신이 MVC3 또는 MVC4를 사용하고 있습니까? – Curt

+0

VS2012 및 MVC4 사용 – Naresh

+0

그리고 오류가 표시되지 않으면 유효성 검사가 작동 중임을 어떻게 알 수 있습니까? 클라이언트 또는 서버 측 유효성 검사에 대해 이야기하고 있습니까? – nemesv

답변

3

@Html.ValidationSummary("Please correct the errors")이 있어야합니다. 응용 프로그램을 정리하고 빌드 한 후에 오류 메시지가 표시됩니다.

감사합니다, 레쉬

+0

같음 :). 정리 + 재구성 = 해결됨 –

1

는보기 내가 문제가 무엇인지 모르는

+4

'@Html.ValidationMessageFor (m => m.SiteName)'은'SiteName' 속성에 대한 단일 오류 메시지를 표시 할 수 있어야합니다. 요약이 필요하지 않아야합니다. – Nope

0
@using (Html.BeginForm("Create", "SiteConfig", FormMethod.Post, new { enctype = "multipart/form-data" })) 
{ 
    @Html.ValidationSummary() 
    <fieldset> 
     <legend>New Satellitesite</legend> 
     <div> 
      @Html.LabelFor(m => m.SiteName, "Name") 
      @Html.TextBoxFor(m => m.SiteName) 
      @Html.ValidationMessageFor(m=>m.SiteName) 
     </div> 
     <br /> 

     <input type="submit" value="Save" /> 

    </fieldset> 
} 

(이 .. @ Html.ValidationSummary을보십시오)는 에러 메시지를 표시하는 데 도움이됩니다.

0

위의 해결책을 시도해도 여전히 작동하지 않으면보기 파일의 형식을 지정해야합니다. 편집 - 고급 형식 문서로 이동하십시오. 프로젝트를 디버깅 할 때 위에 나열된 절차가 표시되지 않으므로 파일을 포맷 할 때 디버그 모드에 있지 않도록하십시오.

0

보기는 스크립트 태그에 JQuery와 유효성 검사를 참조하고 있는지 확인 -

@section Scripts 
{ 
    @Scripts.Render("~/bundles/jqueryval") 
} 
관련 문제