0

jSignature을 사용하여 사용자의 서명을 캡처하는 ASP.NET MVC5 응용 프로그램을 만들고 있습니다. 제출 버튼을 클릭하기 전에 이미지가 생성되었는지 어떻게 확인합니까?

Signature Pad

사용자가 "저장", 그 서명의 이미지를 클릭

바로 서명 패드 아래에 <img/>에서 생성 및 저장됩니다 : 당신이 플러그인 익숙하지 않은 경우는 다음과 같습니다 Signature Pad In Use

전체 프런트 엔드 유효성 검사를 수행하여 사용자가 "저장"을 클릭하여 전체 양식을 제출하기 전에 서명 이미지를 생성하고 싶습니다. 가능한 경우 jQuery를 사용하여이 작업을 수행하고 싶습니다. 나는이 코드를 같이하도록되어 생각 무엇의 의사 코드 모형을 가지고,하지만 난 실제 사용에 돌려 데 문제 :

$("#entireFormSubmitButton").click(function(){ 
    if($("#imageOfSignature").doesNotExistOnPage){ 
     alert("Your signature is required before submitting this form"); 
     // also block the user from submitting form until signature provided 
    } 
}); 

내가 문제 쓰기가 있어요 이 사용자 지정 프런트 엔드 유효성 검사는 ASP.NET이 이미 다른 모든 필수 필드가 채워 졌는지 확인하기 위해 대부분의 작업을 완료 한 이후입니다. 이 코드를 작업 코드로 변환하는 데 도움이 될 수 있습니까?

답변

1
$("#entireFormSubmitButton").click(function(e){ 
     //block the user from submitting and check for signature 
     e.preventDefault(); 
     if($("#imageOfSignature").length == 0 || 
      $("#imageOfSignature").attr("src") == "" || 
      $("#date-of-birth-input").val() == ""){ 
      alert("Your message"); 
     } else { 
      //all good, an image exists 
      $(this).closest('form').submit(); 
     } 
    }); 
+0

거의 완벽하게 작동했습니다. 지금 가지고있는 문제는이 코드가 폼의 유일한 프런트 엔드 유효성 검사로 작동한다는 것입니다. 즉, 사용자가 생년월일을 요구하기 전에, 이제 사용자는 자신의 서명을 저장하는 한 그 정보를 우회 할 수 있습니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까? – cryan

+0

백엔드에서 항상보다 엄격한 검증을 수행 할 수 있습니다. 그러나 프론트 엔드에서도이 작업을 수행하려는 경우 수정 된 게시물에서 수행하는 방법에 대한 예제를 제공했습니다. –