Facebookの接続を介してオプションで事前に入力できるフォームを持っています。ユーザーが接続すると、ユーザーの名前とメールアドレスが自動的に入力されます。問題は、メールがすでに存在するかどうかを確認するためのリモート検証がトリガーされないことです。
そのフィールドの検証だけを呼び出す方法はありますか?何かのようなもの:
$('#email-field-only').validate()
アイデアでしょう。運が悪くドキュメントを検索しました。
回答:
このメソッドはあなたが望むことをするようです:
$('#email-field-only').valid();
単一の要素を検証し、有効な場合はtrue、それ以外の場合はfalseを返します。
以下は、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();
、IDで選択しない場合はこれが必要になる可能性があると思いました。
$("#FormId").validate().element('#FieldId');
$('input[name=email-field-only]').valid();
も動作します