2013-12-20 2 views
1

@ Html.ValidationMessageFor 도우미 메서드를 사용하여 유효성을 검사하지만 Html.ValidationSummary를 선언 할 때만 메시지가 표시됩니다.
유효성 검사 요약 대신 요소 옆에 오류 메시지를 표시하는 방법이 있습니까?
요소 옆에 MVC 유효성 검사 오류가 표시됩니다.

<fieldset> 
    <legend>Registration Form</legend> 
    <ol> 
     <li> 
      @Html.LabelFor(m => m.UserName) 
      @Html.TextBoxFor(m => m.UserName, new { id = "registerName" }) 
     </li> 
     <li> 
      @Html.LabelFor(m => m.Password) 
      @Html.PasswordFor(m => m.Password) 
      <div>@Html.ValidationMessageFor(m => m.Password)</div> 
     </li> 
     <li> 
      @Html.LabelFor(m => m.ConfirmPassword) 
      @Html.PasswordFor(m => m.ConfirmPassword) 
      <div>@Html.ValidationMessageFor(m => m.ConfirmPassword)</div> 
     </li> 
     <li> 
      <input type="submit" value="Sign up" /> 
     </li> 
    </ol> 
    @*@Html.ValidationSummary()*@ 
</fieldset> 

고마워요!

+2

예제 코드 – Nenad

+1

코드를 게시했습니다. ValidationSummary가있는 경우 (주석으로 표시되지 않음)에만 메시지가 표시됩니다. – Yaron

+0

페이지에'unobtrusive' 및'validate' 스크립트를 포함 시켰습니까 – Nilesh

답변

2

@ yaron,

코드를 보면 모든 것이 잘 보입니다. 유효성 검사가 제대로 작동하려면 유효성 검사 요약이 필요 없습니다. 하지만 jQuery 라이브러리가 필요하다. 당신이 주식 인터넷 MVC 응용 프로그램을 보면

, 당신은 로그인 페이지의 하단에 코드가 표시됩니다

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

이것은 App_Start 폴더에 BundleConfig 파일에서 jqueryval 번들을 액세스합니다. 애플리케이션에이 모든 것이 있다고 가정하면 해당 코드 블록이 문제를 해결해야합니다.

+1

오! 얼마나 당황 스럽습니까! 나는이 스크립트가 사용자가 인증 될 때만 렌더링된다는 것을 알아 채지 못했습니다. 그래서 그 전에 모든 유효성 검사가 의도 한대로 표시되지 않습니다 !!! LOL. 감사! – Yaron

+0

전혀 문제가 없습니다. 다행 이네. 너를 도울 수있어. 내 대답이 도움이되었다고 생각되면 잠시 시간을내어 내 대답을 +1하십시오. 감사! – AVenger

+1

나는 아직 충분한 명성이 없다. 미안 메이트 – Yaron