IT TIP

MVC 3 "취소"제출 버튼에서 클라이언트 측 유효성 검사 비활성화

itqueen 2021. 1. 10. 19:44
반응형

MVC 3 "취소"제출 버튼에서 클라이언트 측 유효성 검사 비활성화


좋아, 몇 시간 동안 일을 시도했고 도움이 필요할 수 있습니다. "뒤로"및 "다음"버튼이있는 MVC 3에서 페이지를 구현하려고합니다. 뒤로 버튼을 클릭하면 클라이언트 측 MVC 유효성 검사가 실행되지 않도록 비활성화하여 내 작업 방법이 실행되고 사용자를 이전 논리 웹 페이지로 보냅니다. 나는 이것을 시도했다 :

<script type="text/javascript">
  document.getElementById("backButton").disableValidation = true;
</script>

이:

<input type="submit" name="backButton" value="← Back" 
 title="Go back to step 1." disableValidation="true" />

그러나 무엇이든지간에, cilent-side 유효성 검사 JavaScript가 시작되고 버튼이 포스트 백을 수행하도록 허용하지 않습니다. 나는 생각하고 있습니다 disableValidation만, 아마도 MVC 2에서 작동하고, 나는 MVC 3에서 뭔가 다른 일을 할 생각 합니다만, 어떤 예를 찾을 수 없습니다.


어딘가에 질문을 올리 자마자 답이 드러나게하는이 신비한 힘은 무엇입니까?

MVC 3에서는 "cancel"클래스를 추가하여 버튼에 대한 클라이언트 측 유효성 검사를 비활성화하는 것처럼 보입니다. 그래서 내 예에서 :

<input type="submit" name="backButton" value="← Back"
 title="Go back to step 1." class="cancel" />

잘 작동합니다. 그리고 ID 속성도 필요하지 않습니다. 버튼에 실제 스타일 클래스가있는 경우 다음과 같이하십시오.

<input type="submit" name="backButton" value="← Back"
 title="Go back to step 1." class="style-name cancel" />

유효성 검사 스크립트가 제출 유형에 연결된 것 같습니다 input. cancel버튼으로 변경 하면 유효성 검사를 건너 뜁니다.

<button type="button" onclick="document.location.href('Index')">Cancel</button>

나는 이것을 버튼으로 사용한다

$("button").each(function (elem) {
    var button = $($("button")[elem]);
    button.addClass('cancel');

    if (button.attr('type') == 'submit') {

        button.click(function (e) {
            var validator = button.closest('form').validate();
            validator.cancelSubmit = true;
        });
    }
});

참조 URL : https://stackoverflow.com/questions/5363624/disable-client-side-validation-in-mvc-3-cancel-submit-button

반응형