2012-05-15 3 views
1

DataAnnotantion에서 제공하는 유효성 검사기와 잘 통합 된 MVC에서 "Nick/Email taken"AJAX 유효성 검사를 처리하는 가장 좋은 방법은 무엇입니까 (@ Html.ValidationMessageFor => model.Email))? 나는 아마 이런 식으로 뭔가있을 것이라는 점을 이해 :ASP.NET MVC 3 - Nick 및 전자 메일 확인 (Ajax 호출)

<input id="email" onBlur="emailTaken();" onchanged="emailTaken();" /> 
<script type="text/javascript"> 
    function emailTaken() { 
     var encodedEmail = enc($("#email").val()); 
     $.getJSON("/Ajax/EmailTaken/" + encodedEmail, function (data) { 
      if (data.res) { 
       // all is OK 
      } else { 
       // TODO: Show Error? 
      } 
     }); 
    } 
</script> 

나는 이미 내가 ModelState.AddModelError을 할 수있는 내가 그 일을하고 서버에 알고를 ...하지만 난 클라이언트 측 유효성 검사를위한 방법을 권장합니다 알고 싶어 ? jquery.validate.unobtrusive.js에서 제공하는 메소드를 호출해야합니까?

답변

2

이 경우 원격 유효성 검사를 사용하는 것이 좋습니다. 내장되어 있으므로 자신의 자바 스크립트를 사용할 필요가 없습니다.

http://msdn.microsoft.com/en-us/library/gg508808(v=vs.98).aspx

+1

만 단점은 서버 쪽 (CFR 실행되지 않을 것입니다. http://stackoverflow.com/questions/10494168/limitation-of-modelstate-isvalid-in-asp-net-mvc- 3 /) – Styxxy

+0

@Styxxy - 사실,하지만 원래의 솔루션도 마찬가지입니다. 그는 서버 측 유효성 검사도 수행해야합니다. –

+0

@Styxxy 링크를 제공해 주셔서 감사합니다. 이것은 확실히 자동화 할 것으로 보입니다. 그리고 나는 Mystere Man에 대한 귀하의 답을 고맙게 생각합니다. – kape123