Programing

jQuery Validation 플러그인-숨겨진 입력을 확인하고 보이지 않습니까?

crosscheck 2020. 12. 3. 07:32
반응형

jQuery Validation 플러그인-숨겨진 입력을 확인하고 보이지 않습니까?


이 질문에 이미 답변이 있습니다.

jQuery Form Validation 플러그인을 사용하여 숨겨진 입력과 보이지 않는 텍스트 입력을 어떻게 검증합니까? 문제는 선택한 항목에 대해 숨겨진 입력을 생성하는 자동 제안 플러그인을 사용하고 있다는 것입니다.

<input id="hiddenInput" type="hidden" name="something" value="1" />

나는 이와 같은 2 개의 입력을 가지고 있습니다 (둘 다 1 개의 항목 만 허용 함), 유효성을 검사하고 parent에 오류를 표시하고 싶습니다 <td>. 이것은 내가 지금까지 얻은 것이지만, 값이 실제로 숫자 인 경우 오류를 표시하거나 양식을 제출하지 않습니다.

$("#form1").validate({
        rules: {
            something: {
                number:true,
                min:1,
                required:true
            }
        }
        })

숨겨진 요소의 유효성 검사를 허용하려면 무시를 재정의하고 빈 문자열로 설정합니다.

$("#form1").validate({
    ignore: "",
    rules: {
        something: {
            number:true,
            min:1,
            required:true
        }
    }
});

다음 ignore과 같은 옵션 을 사용할 수 있습니다 .

$("#form1").validate({
    ignore: "input[type='text']:hidden",
    rules: {
        something: {
            number:true,
            min:1,
            required:true
        }
    }
});

ignore옵션의 기본값 :hidden은 모든 숨겨진 필드와 보이지 않는 필드 ( display: none등) 를 무시하는 것입니다 .


다른 답변이 작동하지 않으면 대신 시도하십시오. 양식에 대한 모든 무시를 제거하므로 숨겨진 필드를 포함하여 모든 것을 검증합니다.

$.data($('form')[0], 'validator').settings.ignore = "";

숨겨진 필드를 무시하도록 설정을 복원하려면 다음과 같이 사용하십시오.

$.data($('form')[0], 'validator').settings.ignore = "input[type='text']:hidden";

위의 코드를 사용하여 현재 값을 다시 읽을 수도 있습니다.


숨겨진 입력을 확인하는 또 다른 방법은 다음과 같습니다.

$("#form1").validate({
        ignore: "not:hidden",
        rules: {
            something: {
                number:true,
                min:1,
                required:true
            }
        }
});

참고 URL : https://stackoverflow.com/questions/7952181/jquery-validation-plugin-validating-hidden-inputs-and-not-visible

반응형