it-swarm.com.ru

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

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

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

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

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

78
ryan

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

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

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

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

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

19
Tracker1

Используйте Validator.element() :

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

Вот пример, показанный в API:

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

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

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

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

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

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

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

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

6
ShaneBlake

Если вы хотите проверить отдельное поле формы, но не хотите, чтобы пользовательский интерфейс запускался и отображались какие-либо ошибки проверки, вы можете рассмотреть возможность использования метода 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
Dmitry Komin