У меня есть форма, которую можно предварительно заполнить через facebook connect. После подключения пользователя его имя и адрес электронной почты заполняются автоматически. Проблема в том, что при этом не запускается удаленная проверка, чтобы проверить, существует ли уже адрес электронной почты.
Есть ли способ вызвать проверку только для этого поля? Что-то вроде:
$('#email-field-only').validate()
была бы идея. Искал документы безуспешно.
$('input[name=email-field-only]').valid();
также работаетИспользование
Validator.element()
:Вот пример, показанный в API:
var validator = $( "#myform" ).validate(); validator.element( "#myselect" );
.valid()
проверяет всю форму, как указывали другие. API говорит:источник
По какой-то причине некоторые другие методы не работают до тех пор, пока поле не будет сфокусировано / размыто / не изменено, или пока не будет предпринята попытка отправки ... это работает для меня.
$("#formid").data('validator').element('#element').valid();
Пришлось копаться в скрипте jquery.validate, чтобы найти его ...
источник
.valid()
в конце, поэтому он искал меня,$("#Form").data('validator').element('input[name=__Suburb]').valid();
я считаю, что если вы не выберете его по идентификатору, это может потребоваться..valid()
в конце выражения..element()
Функция возвращает логический результат ( документы | Src ). Когда я пытаюсь вызвать .valid (), я получаю сообщение об ошибке: «Uncaught TypeError:$(...).data(...).element(...).valid
не функция»$("#FormId").validate().element('#FieldId');
источник
Когда вы настраиваете валидацию, вы должны сохранить объект валидатора. вы можете использовать это для проверки отдельных полей.
<script type="text/javascript"> var _validator; $(function () { _validator = $("#form").validate(); }); function doSomething() { _validator.element($('#someElement')); } </script>
- кросс-постил с этим похожим вопросом
источник
Если вы хотите проверить отдельное поле формы, но не хотите, чтобы пользовательский интерфейс запускался и отображались какие-либо ошибки проверки, вы можете рассмотреть возможность использования метода 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();
Надеюсь, это поможет всем :)
ИЗМЕНЕНО
источник
$("#element").validate().valid()
источник