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

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

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

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

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



답변

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

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


답변

사용 Validator.element():

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

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

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

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

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


답변

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

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

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


답변

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


답변

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

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

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

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


답변

개별 양식 필드의 유효성을 검사하고 싶지만 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)*/
}


답변

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

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

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

편집 됨