jQuery Validate Plugin - Проверка запуска одного поля - PullRequest
78 голосов
/ 29 апреля 2010

У меня есть форма, которую можно предварительно заполнить через Facebook Connect. Как только пользователь подключается, его имя и адрес электронной почты автоматически заполняются. Проблема в том, что это не вызывает удаленную проверку, чтобы проверить, существует ли уже электронная почта.

Есть ли способ, которым я мог бы вызвать проверку только в этом поле? Что-то вроде:

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

было бы идеей. Просматривал документы без везения.

Ответы [ 7 ]

137 голосов
/ 03 марта 2011

Этот метод, кажется, делает то, что вы хотите:

$('#email-field-only').valid();
19 голосов
/ 07 августа 2012

По какой-то причине некоторые другие методы не работают, пока поле не будет сфокусировано / размыто / изменено или не будет предпринята попытка отправки ... это мне подходит.

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

Пришлось копаться в скрипте jquery.validate, чтобы найти его ...

16 голосов
/ 21 августа 2015

Использовать Validator.element():

Проверяет отдельный элемент, возвращает true, если он действителен, в противном случае - false.пример, показанный в API:

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

.valid() проверяет всю форму, как указали другие.API говорит:

Проверяет, является ли выбранная форма действительной или все выбранные элементы действительны.

11 голосов
/ 24 мая 2015
$("#FormId").validate().element('#FieldId');
6 голосов
/ 08 февраля 2017

Если вы хотите проверить отдельное поле формы, но не хотите, чтобы пользовательский интерфейс запускался и отображались какие-либо ошибки проверки, вы можете рассмотреть возможность использования метода 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)*/
}
6 голосов
/ 06 мая 2011

Когда вы настраиваете валидацию, вы должны сохранять объект валидатора. Вы можете использовать это для проверки отдельных полей.

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

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

- крестик опубликован с этот похожий вопрос

0 голосов
/ 15 марта 2012
$("#element").validate().valid()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...