0

저는 ASP.NET MVC 5 웹 응용 프로그램을 만들고 있습니다. 나는 이미지가 페이지에서 형성 이전에 제출 표시 될 수 있도록 내 프로그램에서 다음 jQuery 코드를 넣을 :ASP.NET MVC 응용 프로그램 : 버튼 클릭을 제출하는 jQuery 이벤트가 추가되었으며 이제 jQuery 유효성 검사 플러그인이 더 이상 작동하지 않습니다.

$('#submitButton').click(function (e) { 
    //If Corporation is selected as business type 
    if ($('#businessStructure').val() == "Corporation") { 
     //Checks CEO signature present 
     if ($("#signImage").length == 0 || $("#signImage").attr("src") == "") { 
      //block the user from submitting and check for signature 
      e.preventDefault(); 
      alert("Please sign and save your signature in the CEO signature pad"); 
      $("#ceoError").show(); 
     } 
     else { 
      //all good, an image exists 
      $('form').submit(); 
     } 
    } 
}); 

이 코드 (필자는 e.preventDefault()으로 인해 추측하고있어) 지금 MVC 응용 프로그램과 함께 제공되는 jQuery Validate 플러그인을 완전히 무시합니다. 그러나 텍스트 상자에 정보가 누락되어 있거나 (jQuery 유효성 검사) 서명이 누락 된 경우 (위의 코드) 양식 제출을 차단해야합니다.

나는 이것이 this post에서 발생한 이유를 이해합니다. 제출 단추를 클릭 할 때 jQuery 유효성 검사와 새 코드 기능을 사용할 수 있도록이 코드를 수정하는 방법은 무엇입니까?

답변

0

불완전한 jquery 유효성 확인에 필요한 관련 스크립트 파일을 포함하는 한 양식을 제출할 때 유효성 확인이 실행되고 유효성 확인 메시지가 표시되며 양식이 인 경우이 제출되지 않습니다. 서버. 그래서 만약 당신이 페이지에서 스크립트 오류가있는 경우 필요한 스크립트 페이지

<script src="~/Scripts/jquery.validate.min.js"></script> 
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script> 

에 포함했는지 확인하십시오, 그것은 예상대로 현재 스크립트가 작동하지위한 원인 일 수 있습니다. 브라우저의 콘솔에서 스크립트 오류를 ​​확인하시기 바랍니다.

위에서 언급했듯이 jQuery 유효성 검사와 사용자 정의 if 조건을 모두 사용할 수 있습니다. 폼이 유효성 검사를 통과 한 경우에만 사용자 지정 if 조건을 실행하려면 폼에 valid()을 사용하여 폼에 유효성 검사 오류가 있는지 여부를 확인할 수 있습니다. 이제

$('#submitButton').click(function (e) { 
    e.preventDefault(); 

    var isvalid = $(this).closest("form").valid(); 
    if(isValid) 
    { 
     console.log('form validation passed'); 
     //do something custom 
    } 
});