jQuery Validate Plugin-단일 필드의 유효성 검사 트리거


90

facebook connect를 통해 선택적으로 미리 채울 수있는 양식이 있습니다. 사용자가 연결되면 이름과 이메일이 자동으로 채워집니다. 문제는 이메일이 이미 존재하는지 확인하기 위해 원격 유효성 검사를 트리거하지 않는다는 것입니다.

해당 필드에서만 유효성 검사를 호출 할 수있는 방법이 있습니까? 다음과 같은 것 :

$('#email-field-only').validate()

아이디어가 될 것입니다. 운없이 문서를 검색했습니다.

답변:


147

이 방법은 원하는 작업을 수행하는 것 같습니다.

$('#email-field-only').valid();

4
참고 : 폼 요소의 이름은이 기능을 작동, 즉 $('input[name=email-field-only]').valid();도 작동
랩터

1
무엇이 문제입니까? 나는이 방법 내 검증 휴식 사용할 때
nakajuice

2
이 솔루션은 전체 양식의 유효성을 검사하여 모든 필드에 대한 오류 메시지를 표시합니다.
Pablo

@haemhweg, 어쩌면 당신은 전화를하지 않았다 .validate () 를 사용하기 전에 방법을 .valid을 () ? 문서 : jqueryvalidation.org/valid
userfuser


24

사용 Validator.element():

단일 요소의 유효성을 검사하고 유효하면 true를 반환하고 그렇지 않으면 false를 반환합니다.

다음은 API에 표시된 예입니다.

var validator = $( "#myform" ).validate();
validator.element( "#myselect" );

.valid()다른 사람들이 지적했듯이 전체 양식의 유효성을 검사합니다. API는 다음과 같이 말합니다.

선택한 양식이 유효한지 또는 선택한 모든 요소가 유효한지 확인합니다.


20

어떤 이유로 다른 방법 중 일부는 필드에 초점이 맞춰지고 / 흐리게 / 변경되거나 제출이 시도 될 때까지 작동하지 않습니다.

$("#formid").data('validator').element('#element').valid();

그것을 찾기 위해 jquery.validate 스크립트를 파헤쳐 야했습니다 ...


1
이것이 나를 위해 일한 것입니다 .valid(). 마지막에 추가 하여 나를 찾았으므로 $("#Form").data('validator').element('input[name=__Suburb]').valid(); ID로 선택하지 않으면 필요할 수 있다고 생각합니다.
Mihai P.

2
.valid()표현의 끝에 속 한다고 생각하지 않습니다 . 이 .element()함수는 부울 결과 ( docs | src )를 반환합니다 . .valid ()를 호출하려고하면 "Uncaught TypeError : $(...).data(...).element(...).validis not a function"
KyleMit

양식에 유효성 검사기를 첨부 했습니까? JQuery 유효성 검사를 사용한 지 몇 년이 지났습니다. 따라서 API가 변경되었을 수 있습니다. 그 당시 나는 그것을 찾기 위해 내부를 조사해야했다. 문서에 게시되지 않았으므로 마지막으로 본 이후 구조가 변경되었을 수 있습니다.
Tracker1

16
$("#FormId").validate().element('#FieldId');

2
나는이 방법을 선호하는데, 그것은 멋진 1 라이너입니다. 감사합니다.
Andy

1
이것은 유효한 반환 형식에 오류가없는 완벽한 해답입니다
Kaushik이 Thanki

7

유효성 검사를 설정할 때 유효성 검사기 개체를 저장해야합니다. 이를 사용하여 개별 필드의 유효성을 검사 할 수 있습니다.

<script type="text/javascript">
var _validator;
$(function () {    
     _validator = $("#form").validate();   
});

function doSomething() {    
     _validator.element($('#someElement'));
}
</script> 

- 이 유사한 질문으로 교차 게시


7

개별 양식 필드의 유효성을 검사하고 싶지만 UI가 트리거되고 유효성 검사 오류가 표시되는 것을 원하지 않는 경우 지정된 필드가 유효성 검사를 통과하는지 여부를 반환하는 Validator.check () 메서드를 사용할 수 있습니다.

여기에 예가 있습니다

var validator = $("#form").data('validator');
if(validator.check('#element')){
    /*field is valid*/
}else{
    /*field is not valid (but no errors will be displayed)*/
}

0

양식의 "일부 요소"(모든 요소가 아님)에 대한 유효성 검사를 수행하려는 경우이 방법을 사용할 수 있습니다.

$('input[name="element-one"], input[name="element-two"], input[name="element-three"]').valid();

모두에게 도움이되기를 바랍니다 :)

편집 됨


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.