2011-10-07 10 views
2

내 응용 프로그램에서 Ajax를 사용하여 모달로 표시되는 양식이 있으며이 양식은 MVC 3 (Microsoft는 jquery.validate 사용)의 기본 제공 유효성 검사를 사용하여 유효성을 검사합니다.ASP.NET MVC 3 유효성 검사 및 AJAX

그러나 양식이 ajax를 사용하여 호출 되었기 때문에 유효성 검사 로직이 더 이상 서로 이야기하지 않는 것처럼 보입니다 (문서 후 페이지에 추가 된 내용에 .live()을 사용하지 않은 경우와 매우 유사 함). 로드).

이 문제를 해결하려면 어떻게합니까?

내가 얻기 위해 노력했다

EDIT를 사용하여이 작업 : http://xhalent.wordpress.com/2011/01/24/applying-unobtrusive-validation-to-dynamic-content/ 다음 3nigma에 의해 제공하지만, 어떤 영향이하지 않는 것 : 내가 추가 한/

$.ajax({ 
       url: $(this).attr('href'), 
       success: function (responseHtml) { 
        $('.uiModalContent').html($(responseHtml)); 
        $('.uiModalContent').removeClass('loading'); 
        // Apply validation to form that is inside the modal 
        $('.AjaxForm').removeData('validator'); 
        $.validator.unobtrusive.parseDynamicContent('.AjaxForm input'); 
       }, 

을 내 성공에 코드를 내 아약스에 대한 모달을 보여주는 자바 스크립트 jquery 아약스 상자 스크립트 태그 떨어져 호출 된 뷰 내부에 직접 넣을 수 없습니다. 그러나 그것은 동적으로 추가 된 필드에 유효성 검사를 적용하는 것 같지 않습니다 ...

어떤 도움을 많이 주시면 감사하겠습니다. 감사합니다

답변

2

당신과 관련이있을 수 도움이 될 수 있으며, 그것은 "나를 위해 작동"

    ,536 : :)

    은 아마 당신은 몇 가지를 시도 할 수 있습니다

  • $('.uiModalContent').html($(responseHtml));에서 나는 당신이 jquery 객체로 responseHtml을 감쌀 필요가 있다고 생각하지 않는다. $('.uiModalContent').html(responseHtml);

  • 시도가 검증 호출을 변경 : 사실에서와 같이 그냥 responseHtml를 사용하는 것이 아마 더 나은이 문제를 해결할 수 있는지 모르겠어요 $.validator.unobtrusive.parse($('.uiModalContent'));

그러나 그것은 시도 가치가있다.

+0

AJAX와 잘 작동으로 첫 번째 글 머리 기호 지점을 변경할 필요 그들의입니다! 작동하지 않는 동적으로 추가 된 콘텐츠에 대한 유효성 검사입니다. – Cameron

0
$.validator.unobtrusive.parseDynamicContent('.uiModalContent'); 

수정 문제 :