복붙노트

[JQUERY] 플러그인 jQuery를 확인 : 지정을 위해 사용하지 않도록 검증 버튼을 제출

JQUERY

플러그인 jQuery를 확인 : 지정을 위해 사용하지 않도록 검증 버튼을 제출

해결법


  1. 1.당신은 확인을 억제하기 위해 제출 버튼에 취소의 CSS 클래스를 추가 할 수 있습니다

    당신은 확인을 억제하기 위해 제출 버튼에 취소의 CSS 클래스를 추가 할 수 있습니다

    예컨대

    <input class="cancel" type="submit" value="Save" />
    

    여기에이 기능의 jQuery를 검사기 문서를 참조하십시오 : 제출에 대한 유효성 검사를 건너 뛰는

    편집하다:

    위의 기술은 사용되지와 formnovalidate 속성으로 대체되었습니다.

    <input formnovalidate="formnovalidate" type="submit" value="Save" />
    

  2. 2.다른 그것을 할 (문서화) 방법은 호출하는 것입니다 :

    다른 그것을 할 (문서화) 방법은 호출하는 것입니다 :

    $("form").validate().cancelSubmit = true;
    

    (예를 들어) 버튼의 클릭 이벤트에.


  3. 3.또 다른 (동적) 방법 :

    또 다른 (동적) 방법 :

    $("form").validate().settings.ignore = "*";
    

    를 재 활성화하고, 우리는 단지 기본 값을 다시 설정 :

    $("form").validate().settings.ignore = ":hidden";
    

    출처 : https://github.com/jzaefferer/jquery-validation/issues/725#issuecomment-17601443


  4. 4.입력 formnovalidate 속성 추가

    입력 formnovalidate 속성 추가

        <input type="submit" name="go" value="Submit"> 
        <input type="submit" formnovalidate name="cancel" value="Cancel"> 
    

    "취소"= 클래스를 추가하는 것은 이제 더 이상 사용되지 않습니다

    이 링크를 제출에 건너 뛰는 유효성 검사를위한 문서를 참조하십시오


  5. 5.양식 제출에 대한 유효성을 검사하지 않습니다 검증을 배선시 허위 옵션 (설명서를 참조하십시오) : 당신은 태그의 onsubmit을 사용할 수 있습니다. 그리고 당신의 ASP에서 : 버튼 OnClientClick = $ ( '# aspnetForm')를 추가 유효한 ();. 형식이 유효한 경우 명시 적으로 확인합니다.

    양식 제출에 대한 유효성을 검사하지 않습니다 검증을 배선시 허위 옵션 (설명서를 참조하십시오) : 당신은 태그의 onsubmit을 사용할 수 있습니다. 그리고 당신의 ASP에서 : 버튼 OnClientClick = $ ( '# aspnetForm')를 추가 유효한 ();. 형식이 유효한 경우 명시 적으로 확인합니다.

    대신 옵트 아웃 전술의이 옵트 인 모델을 호출 할 수 있습니다.

    참고 또한 ASP.NET 웹폼와 JQuery와 유효성 검사를 사용하고 있습니다. 이 탐색 할 몇 가지 문제가 있지만 당신이 그들을 통해 일단, 사용자 경험은 매우 좋다.


  6. 6.(@ 레페의의 확장 및 ASP.NET MVC + jquery.validate.unobtrusive.js에 대한 @redsquare 대답)

    (@ 레페의의 확장 및 ASP.NET MVC + jquery.validate.unobtrusive.js에 대한 @redsquare 대답)

    JQuery와 유효성 검사 플러그인 (안 마이크로 소프트 방해 한) (허용 대답에서와 같이) 완전히 바이 패스 검증에 제출 버튼에 .cancel 클래스를 넣을 수 있습니다.

     To skip validation while still using a submit-button, add a class="cancel" to that input.
    
      <input type="submit" name="submit" value="Submit"/>
      <input type="submit" class="cancel" name="cancel" value="Cancel"/>
    

    (완전히 다른 무언가 유형 = '리셋'와 혼동하지 마십시오)

    불행하게도 jquery.validate 플러그인의 기본 동작까지 좀 나사 (ASP.NET MVC) 처리 코드를 jquery.validation.unobtrusive.js 확인.

    이것은 내가 위의 그림과 같이 사용자가 제출 버튼을 .cancel 넣을 수 있도록 해낸 것입니다. 마이크로 소프트 결코 '수정'이 다음은이 코드를 제거 할 수 있습니다.

        // restore behavior of .cancel from jquery validate to allow submit button 
        // to automatically bypass all jquery validation
        $(document).on('click', 'input[type=image].cancel,input[type=submit].cancel', function (evt)
        {
            // find parent form, cancel validation and submit it
            // cancelSubmit just prevents jQuery validation from kicking in
            $(this).closest('form').data("validator").cancelSubmit = true;
            $(this).closest('form').submit();
            return false;
        });
    

    참고 :이 첫 번째 시도에서 그것이 작동하지 않은 것 같습니다 경우 - 확인 서버에 양방향으로하지 않는 및 오류 서버에서 생성 된 페이지를보고. 당신은 몇 가지 다른 방법으로 서버 측에서 바이 패스 검증해야합니다 - 이것은 단지 양식 (대안이 양식에 모든 것을 .IGNORE 속성을 추가 할 것이다) 오류없이 클라이언트 쪽을 제출 할 수 있습니다.

    (참고 : 제출 버튼을 사용하는 경우에는 선택에 버튼을 추가해야 할 수도 있습니다)


  7. 7.

    $("form").validate().settings.ignore = "*";
    

    또는

    $("form").validate().cancelSubmit = true;
    

    그러나 사용자 정의에 성공하지 검증이 필요합니다. A가 동적으로 제출 전화를 들어,이 코드 submit 버튼 숨겨진 가짜를 만들었습니다 :

    var btn = form.children('input.cancel.fakeSubmitFormButton');
    if (btn.length === 0) {
        btn = $('<input name="FakeCancelSubmitButton" class="cancel fakeSubmitFormButton hide" type="submit" formnovalidate value="FakeCancelSubmitButton" />');
        form.append(btn);
    }
    btn.click();
    

    이제 제대로 검증을 건너 :)


  8. 8.( '# formId')이 질문은 오래하지만 $를 사용하는 것입니다 주위에 나는 다른 방법을 발견 [0] .submit (), 따라서 유효성 검사 후크를 우회, jQuery 오브젝트 대신 DOM 요소를 얻을 수있다. 이 버튼은 입력을 포함하는 부모 폼을 제출합니다.

    ( '# formId')이 질문은 오래하지만 $를 사용하는 것입니다 주위에 나는 다른 방법을 발견 [0] .submit (), 따라서 유효성 검사 후크를 우회, jQuery 오브젝트 대신 DOM 요소를 얻을 수있다. 이 버튼은 입력을 포함하는 부모 폼을 제출합니다.

    <input type='button' value='SubmitWithoutValidation' onclick='$(this).closest('form')[0].submit()'/>
    

    또한, 당신이 어떤 입력이 "제출"라는 것없는 만들거나, 제출라는 이름의 기능을 대체합니다.


  9. 9.내가 가장 유연한 방법은 사용 JQuery와의 작업을 수행하는 것으로 나타났습니다 :

    내가 가장 유연한 방법은 사용 JQuery와의 작업을 수행하는 것으로 나타났습니다 :

    event.preventDefault():
    

    예를 들면 대신 제출의 I 리디렉션 할 경우, 나는 할 수있다 :

    $("#redirectButton").click(function( event ) {
        event.preventDefault();
        window.location.href='http://www.skip-submit.com';
    });
    

    아니면 다른 엔드 포인트 (나는 동작을 변경하려면 예를 들어, 경우)에 데이터를 보낼 수 있습니다 :

    $("#saveButton").click(function( event ) {
        event.preventDefault();
        var postData = $('#myForm').serialize();
        var jqxhr = $.post('http://www.another-end-point.com', postData ,function() {
        }).done(function() {
            alert("Data sent!");
        }).fail(function(jqXHR, textStatus, errorThrown) {
            alert("Ooops, we have an error");
        })
    

    당신은 '에서는 event.preventDefault를 ();'어떻게하면 당신은 검증을 우회.


  10. 10.내가 양식 제출에 대한 두 개의 버튼이 버튼은 저장라는 이름의 종료는 검증을 우회 :

    내가 양식 제출에 대한 두 개의 버튼이 버튼은 저장라는 이름의 종료는 검증을 우회 :

    $('.save_exist').on('click', function (event) {
                $('#MyformID').removeData('validator');
                $('.form-control').removeClass('error');
                $('.form-control').removeClass('required');                
                $("#loanApplication").validate().cancelSubmit = true;
                $('#loanApplication').submit();
                event.preventDefault();
    });
    

  11. 11.여기에 간단한 버전이, 누군가 도움이되기를 바랍니다

    여기에 간단한 버전이, 누군가 도움이되기를 바랍니다

    $('#cancel-button').click(function() {
        var $form = $(this).closest('form');
        $form.find('*[data-validation]').attr('data-validation', null);
        $form.get(0).submit();
    });
    

  12. 12.

    <button type="submit" formnovalidate="formnovalidate">submit</button>
    

    또한 작업

  13. from https://stackoverflow.com/questions/203844/jquery-validation-plugin-disable-validation-for-specified-submit-buttons by cc-by-sa and MIT license